1,705 karma · joined October 8, 2016
- 2.5x Maximum Throughput Compared to Kafka
- 100x Lower Single-digit Publish Latency than Kafka
- 1.5x Faster Historical Read Rate than Kafka
As for referring our PVLDB as “the first industry paper”, thanks @karsinkk for pointing out. We admit that the original description was inaccurate and just updated it to be “This is the first paper in the industry to describe the Raft-based implementation of a distributed Hybrid Transactional/Analytical Processing (HTAP) database.”
However, we have never claimed ourselves as “the best, the fastest.” If you find such occurrences and think they are inaccurate, please do share with us and we will correct the same ASAP. As pointed in https://pingcap.com/blog/9-why's-to-ask-when-evaluating-a-di..., “There's no single technology that can be the elixir to all your problems. The database realm is no different. If your data can fit on a single MySQL instance without too much pressure on your server, or if your performance requirement for complex queries isn't high, then a distributed database may not be a good choice. Choosing to use a distributed database typically means additional maintenance cost, which may not be worthwhile for small workloads. “
Regarding your comparison between TiDB and MySQL, there are differences between MySQL and TiDB as stated here: https://opensource.com/article/18/11/key-differences-between.... If you are still interested in trying out TiDB with your real life workload, we are very happy to help you. Please reach out to us in our community Slack: https://slack.tidb.io/invite?team=tidb-community&channel=eve...
The latest stats in the same case scenario (already-read posts) Zhihu is:
- 2.6 Trillion Rows
- 560TB data
- 200 TiKV instances
TiDB could be considered as a scale-out MySQL and CRDB a scale-out Postgres. They are all Spanner-inspired solutions that can help avoid manual sharding.
We had a lot of fun—and learned a lot—from our little adventure at TiDB Hackathon 2019. If you want to make your own Golang applications run in a browser, here are some suggestions:
As [WebAssembly Weekly - Issue #100](https://wasmweekly.news/issue-100/) mentioned, "WebAssembly support for Go applications is very much in its infancy.” For example, Golang hasn't fully supported WASI, and goleveldb doesn’t support Wasm/js. Be discreet before you go too deep, and clearly understand the use cases for your application.
Make sure your application doesn't have third-party platform-specific dependencies that can’t be compiled to Wasm.
Browsers don’t allow port listening and file operations, so you’ll have to work around those limitations.
https://github.com/pingcap/tidb/pull/13069
Known Limitations:
- TiDB-Wasm includes TiDB server only. TiDB is the stateless MySQL component of the TiDB platform (check other components in the TiDB Architecture). Compiled to Wasm, this tool is only suitable for experimenting with SQL and testing out TiDB compatibility with MySQL queries.
- The Wasm binary file is close to 70 MB and compressed to 13 MB. The database and the data you create in TiDB-Wasm are written to memory, and therefore consume a lot of memory resources.
- TiDB-Wasm does not support most of the web browsers on mobile devices yet.
- The tool currently cannot demonstrate multi-node TiDB deployments. This means you can’t play with TiDB’s titanium-solid resiliency, test doing rolling updates, or online scale-out and scale-in.
Thanks to the Golang for supporting Wasm, and making it possible to run performant Golang applications or even databases in the web browser.
Thanks to the Ti-Cool team in the TiDB community for contributing TiDB-Wasm in the 2019 TiDB Hackathon, making running TiDB in local model with by embedding GoLevelDB in the web browser possible. The team members are currently working on a technical blog to share how they made it. Stay tuned!
I am thinking aloud here: maybe the product-market fit, project-community fit and the value-market fit were not so clearly separated or sequential but more interrelated from the very beginning. You have to find the value-market fit and define the business problem first and then the community will thrive? The value to the community is not only what the project can bring to the business, but also the value this project can bring to its contributors and adopters.
- Project-Community Fit: GitHub stars
- Product-Market Fit: Downloads
- Value Market Fit: Revenue
Because of the write amplification issue of RocksDB, we build a RocksDB plugin, TiTan. Here is its design and implementation detail: https://pingcap.com/blog/titan-storage-engine-design-and-imp...
Ansible: https://pingcap.com/docs/dev/how-to/deploy/orchestrated/ansi...
Kubernetes (using TiDB-Operator): https://pingcap.com/docs/dev/how-to/deploy/orchestrated/kube...
Terraform on AWS: https://github.com/pingcap/tidb-operator/tree/master/deploy/...
Docker: https://pingcap.com/docs/dev/how-to/deploy/orchestrated/dock...
Binary: https://pingcap.com/docs/dev/how-to/deploy/from-tarball/prod...