Which is more suitable, TiDB or DM?

Note:
This topic has been translated from a Chinese forum by GPT and might contain errors.

Original topic: TIDB和达梦哪个比较合适呢

| username: TiDBer_JlY1JCJ5

We need to switch to a domestic database. Our business is facing massive data storage and we don’t want to use sharding. We are considering TiDB, which is a distributed relational database and seems to meet our needs. However, I noticed that in the information and innovation sector, Dameng Database is commonly used. I always thought Dameng was just a domestic alternative to MySQL, but today I found out that DM8 also appears to be a distributed database suitable for HTAP scenarios. This is a bit confusing. From a purely usage perspective, are there significant differences between TiDB and Dameng DM8? Can you briefly explain the advantages and disadvantages of TiDB compared to DM8? Thanks.

| username: xfworld | Original post link

The enterprise edition of TiDB is also part of the Xinchuang initiative. If needed, you can refer to:


As for whether the scenario is more suitable for Dameng or TiDB, it is recommended to conduct a POC (Proof of Concept).

| username: 像风一样的男子 | Original post link

It’s definitely appropriate to ask about TiDB here.

| username: zhanggame1 | Original post link

DM is modified from Oracle. If you want a smooth migration from Oracle, you can consider it, as basically nothing needs to be changed, including stored procedures, etc.
TiDB only has a MySQL interface, so if you were using MySQL before, migrating to TiDB works well.

| username: TiDBer_JlY1JCJ5 | Original post link

I just don’t quite understand the difference between the two. I used to think one was distributed and the other was traditional relational. Now it seems they are just competing products, right?

| username: TiDBer_JlY1JCJ5 | Original post link

Well, considering the migration from MySQL, the two are basically competitors, both being the same type of database.

| username: dba远航 | Original post link

The transformation of the database is not just about whether the architecture is suitable, but also about whether it fits your business scenario and whether a large amount of SQL syntax is compatible. This is very important.

| username: 有猫万事足 | Original post link

This really can only rely on POC. Anything else said is useless.

| username: 像风一样的男子 | Original post link

Do a POC test, only after experiencing it yourself will you have the right to speak.

| username: swino | Original post link

Advantages:

  1. Distributed Scalability: TiDB adopts a distributed architecture, supporting online horizontal scaling. Nodes can be dynamically added or removed based on actual load conditions, providing higher availability and scalability.
  2. Strong Consistency: TiDB uses a Raft-based consistency algorithm, supporting ACID transactions, ensuring strong data consistency and durability.
  3. Rich SQL Support: TiDB supports the MySQL protocol, including MySQL syntax and features, and also supports some features that MySQL does not, such as offline and online DDL.
  4. Intelligent Optimizer: TiDB’s built-in intelligent optimizer and statistics system can optimize and adjust SQL execution plans, improving query performance and response speed.

Disadvantages:

  1. Performance in memory-intensive scenarios is not as good as DM8. DM8 addresses large-scale write issues by using a combination of binlog and competing with database writes.
  2. During use, TiDB requires fine-tuning and configuration of hardware and network environments to fully leverage its performance.
  3. As an emerging database technology, TiDB’s ecosystem is not as mature as the traditional MySQL ecosystem, potentially lacking support and tools in some areas.
  4. When improving performance through vectorization, TiDB may have limitations in supporting certain functions.
| username: TiDBer_小阿飞 | Original post link

TiDB and DM8

| username: tidb菜鸟一只 | Original post link

It depends on what your original database is. If it’s MySQL, I suggest switching to domestic options like OceanBase or TiDB. If it’s Oracle, then consider DM8 or OceanBase. I don’t know much about DM8; my impression of Dameng is still stuck on it being a pirated version of Oracle that requires shared storage…

| username: 小龙虾爱大龙虾 | Original post link

Do a POC, you can only know if there are any issues when the business scenario is running.

| username: andone | Original post link

Oracle migrates to DM, MySQL migrates to TiDB or OB.

| username: ShawnYan | Original post link

It’s not a substitute; the cost is very high, very expensive. If you don’t have the right “connections,” forget about Dameng.

| username: forever | Original post link

I’m also stuck on testing various issues with the POC. Has it become more powerful now…?

| username: 随缘天空 | Original post link

When choosing a database, it depends on specific business needs. If you need to handle large-scale data and high concurrent access, TiDB might be more suitable; if you need a reliable enterprise-level database, DM (Dameng) might be more appropriate. TiDB is suitable for scenarios requiring high concurrency and high availability, such as the financial industry, while DM is widely used in government, finance, telecommunications, and other fields.

| username: Kongdom | Original post link

I feel that it should be considered based on your existing business and existing database, and it is not necessarily a binary choice between A and B. :thinking:

| username: oceanzhang | Original post link

Is DM that good?

| username: oceanzhang | Original post link

Personally, I think TiDB’s architecture has some of its own ideas rather than just copying mature foreign software architectures.