黄东旭解析 TiDB 的核心优势
481
2019-11-12
内容来源:http://mp.weixin.qq.com/s?__biz=MzI3NDIxNTQyOQ==&mid=2247490145&idx=2&sn=71a8b9513ab286b47eb89771863c34fe&chksm=eb163d0bdc61b41d46b29a61508f8027fa1fb1ba1ab8d89441f04d00fe3214f85016221c8d0e#rd
TiDB Markdown Plugin
一款可以让 TiDB 运行在 Markdown 中的插件。
Repo:
https://github.com/imiskolee/tidb-wasm-markdown
背景
上周三看到朋友圈在疯狂的刷 TiDB-Wasm [1] 这个有意思的东西(让数据库运行在浏览器里?TiDB + WebAssembly 告诉你答案)。这的确是一件让人兴奋的工作成果,为 Wasm 的应用提供了不错的思路。就这个项目本身而言也是有很大的价值。
我们在编程语言学习的时候,有诸如 JSFiddle [2]、Go Playground [3]等很多不同的交互性环境可以使用,并且可以将这些环境内嵌到教学文章之中,形成了交互性的教学资料。但是在数据库的文章之中,只能是纯粹的纸上谈兵,读者很难进行直观的感受与实操。
相比较而言,纯粹的编程语言的交互环境对于服务端资源消耗是可控的,成本也是可以承担得起的。数据库不一样,一个简单的索引优化的示例数据可能就需要 GB 级别的内存占用以及更大的 CPU 消耗,成本上难以承受。而 TiDB-Wasm 版本的出现,解决了这一个问题——因为是在客户端构建环境,环境成本由对应的读者承担。基于这个前提,我想到的就是可以把 TiDB-Wasm 版本作为数据库的 Play Ground 环境嵌入到 Markdown 中进行交互。
实施过程
工作原理
使用方法
::: tisql SELECT * FROM USERS;
| 固定tag内容 | sql 内容 |
详情见 demo 程序。
问题
1. 目前已知在 Chrome 环境容易崩溃。
2. Wasm 程序体积较大,需要进行 tiny 处理。
3. 目前仅支持一个文档单个数据库实例(基于性能考量)。
4. 还需要定义好的 Markdown 定义方法来描述数据库的交互行为。
[1] TiDB - Wasm: http://play.pingcap.com/
[2] JSFiddle: http://jsfiddle.net/
[3] Go Playground: https://play.golang.org/
[4] https://play.pingcap.com: https://play.pingcap.com
[5] JinSong: https://github.com/ouesiengi
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。