10 reasons not to use SimpleDB

Source: Internet
Author: User
Keywords Implementation provision for join to
Tags apache api app application applications based bigtable compared

Since Amason launched SimpleDB, distributed data storage systems based on Key-value key values have received widespread attention, similar systems include Apache COUCHDB, and the recent blockbuster Google App Engine based on the BigTable Datastore API, there is no doubt that the distributed data storage system provides better lateral scalability, is the future direction of development. But at this stage, compared with the traditional RDBMS, there are some gaps and deficiencies. Ryan Park wrote about the 10 major deficiencies of SimpleDB:

1. Data integrity is not guaranteed

Distributed data storage systems such as SimpleDB are currently unable to implement the same strict integrity constraints as RDBMS, such as uniqueness constraints and foreign key constraints, so data integrity needs to be implemented in applications.

2. Data consistency is not guaranteed, resulting in a very poor user experience

SimpleDB do a write optimization, call the API only to write data to a SIMPLEDB server that returns write success information, then the data will be distributed to more SimpleDB servers, and the distribution is complete before the latest data can be queried. Therefore, it is necessary to deal with the data consistency problem caused by this query delay in the application.

3. Data aggregation will require additional coding implementations

SimpleDB does not implement such things as Join,group by,sum/average,sort, which need to be implemented in the application.

4. Complex queries and ad hoc queries are more difficult to implement

SQL standards have been available for many years, and the database engine has done enough to optimize some complex SQL queries. SimpleDB does not provide special support for overly complex queries and uncertain ad hoc queries, so simpledb is not well suited for OLAP applications such as data warehouses.

5. Data aggregation operation performance is worse than RDBMS

The RDBMS engine has done a lot of optimizations for join,group by and so on, and the optimizer can provide a way to use such as a hash join,nested loop join in different situations. Implementing these operations in your application may not be as efficient as a mature RDBMS. Of course, this is a bit far-fetched, the implementation of the application may be worse or better, from a distributed trend, the database will tend to do more and more simple data storage, computing more should be given to the previous application server to complete.

6. Data import and export, backup and other operations slower and more cumbersome

RDBMS provides a lot of mature data migration and backup tools, this is just the birth of simpledb, such as natural deficiencies, but this is not a problem, as long as there is demand and time, there will be tools.

7.SimpleDB is not as fast as you think.

Todd Hoff data in an article: Reading 10 records from a table in SimpleDB's 1000 records requires 141ms, 10 records from 100,000 records requires 266ms, and 1000000 from 10 records requires 433MS, This is significantly slower than an RDBMS. Of course, for distributed systems, the larger the amount of data, the greater the advantages. In the case of small amount of data, centralized distribution is certainly more advantageous than distributed.

8.RDBMS can also be good scalability

Examples of successful applications of RDBMS are listed, such as Facebook and LiveJournal using Mysql,myspace to use MS SQL server,salesforge.com to use Oracle. Through good application design, vertical data segmentation and horizontal segmentation, master-slave replication and clustering technology, traditional RDBMS can also achieve good scalability, supporting large web site system is no problem.

9. Super scalability is a kind of excessive design

Technology should be applied as a principle, and excessive design is a huge waste.

10.SimpleDB is very useful, but also used in the right situation

SimpleDB is not born to replace an OLTP database, its key-value storage structure is more suitable for processing semi-structured data. Good products also need to use the appropriate place to avoid weaknesses.

This article URL: http://www.ningoo.net/html/2008/top_10_reason_avoid_the_simpledb.html

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.