Disadvantages of RDBMS or RDBMS vs NoSQL

    I’ll explain my vision for what reasons new data storage and processing technologies known as NoSQL and MPP were created.
    The article will be useful especially to novice pioneers in developing a database.
    The article does not discuss specialized databases for vector, graphic, and other non-standard formats.

    First, SQL and RDBMS
    1.1. You need to know the SQL language and the basic principles of RDBMS as transactions, foreign key, tables.
    Suppose you are a Java developer, and you are still required to know some SQL and RDBMS features. Naturally, you are lazy, trying to somehow distract.
    And besides, the OOP principle is very different from the data model in RDBMS.
    1.2. If you have a large project, then you need a professional database developer, and this is an extra ballast if there are no projects in the future.
    Java programmers would like to do all the business logic in Java bypassing SQL and RDBMS.

    Second, price
    2.1. Inability to use commodity server on big data. If you have 600 terabytes, then only Exadata or Teradata will work for you from RDBMS.
    2.2. Fault tolerance. Without shared-nothing and no single point failer technology, you are forced to buy expensive servers, with double redundancy for everything,
    RAID controllers, power supplies, buy an uninterruptible power supply, expensive storage and so on.
    2.3. The price of licenses. Advanced RDBMS capable of holding hundreds of terabytes is not cheap, especially appliance solutions.

    Third,> = 1 Pb of data
    3.1. If you have more than 1 Petabyte of data, then only Teradata for $ 20 million is suitable for you from RDBMS.
    How to build a cluster for Hadoop with triple redundancy per 1 Petabyte of data now costs $ 367,000 (only servers with disks).
    On such servers here and 4 disks in RAID 0
    True, go broke on electricity. For such a brainchild, a mini power station is required.

    That's actually why this movement began NoSQL, Hadoop, MPP. To solve the above features, inconveniences, disadvantages.

    RDBMS still remain universal databases capable of solving any problems. So I advise you to think again,whether one of the above points is critical for you . If not, feel free to take the usual RDBMS!

    1. If your chickens do not bite money, you have a difficult development or you need a non-blocking reading and you like comfortable development conditions.
    Buy Exadata
    2. If you don’t get money from chickens, it’s not a very difficult development, you don’t worry about the lack of good tools,
    and you don’t like to create aggregates, but like the brute force of full scan then buy Teradata
    3. If you have money, but you know how to count them, you need a stable, universal and easy to develop database and data you have less than 10 terabytes, and you are not afraid of the complexity of administration, then take the usual Oracle
    4. If you do not have money, but the data is no more than 1 TB, but you still need a good database development platform with complex logic, then take PostgreSQL
    5. If you do not have SQL and RDBMS skills, the data is loosely coupled or you good ETL that catches everything. Not complex queries without joining multiple tables. All logic is not in the database. That NoSQL DB is quite suitable for you, although, as I said, RDBMS are universal, anything can do if you know how to use them.

    Also popular now: