How NoSQL fills the gaps in traditional RDBMS?

NoSQL База дадзеных можа быць розных катэгорый, такіх як базы дадзеных ключ-значэнне,,en,база дадзеных NoSQL лічыцца спецыялізаванай базай дадзеных для падтрымкі складанай бізнес-патрэбаў,,en,Давайце паглядзім, як база дадзеных NoSQL можа запоўніць прабелы ў традыцыйных РСУБД,,en,сучасныя прыкладання,,en,у асноўным вэб-прыкладанняў на аснове інтэрнэт,,en,вельмі патрабавальны,,en,Такім чынам, базы дадзеных не толькі як чакаецца, будзе вельмі гнуткім характар ​​для падтрымкі розных фарматаў дадзеных,,en,але яны таксама павінны кіраваць экстрэмальнай прадукцыйнасцю і маштабаваннем,,en,Такім чынам, карпаратыўныя архітэктары ацэньваюць прыкладання належным чынам, а затым прапаноўваючы адпаведныя базы дадзеных,,en,Варта адзначыць, што базы дадзеных NoSQL не зьяўляюцца заменай для традыцыйных баз дадзеных,,en,Таму правільная рэкамендацыя,,en,RDBMS або NoSQL,,en,цалкам заснавана на характары спраў выкарыстанняў,,en,калі-небудзь,,en, document database, or graph database. NoSQL database is an independent category which fills the gaps found in traditional RDBMS. In addition, NoSQL database is considered a specialized database to support complex business needs. Let us see how NoSQL database can fill the gaps found in traditional RDBMS.

Today’s applications (mostly web based internet applications) are very demanding. So the databases are not only expected to be very flexible in nature to support various data formats, but they are also expected to manage extreme performance and scaling. So the enterprise architects are evaluating the applications properly and then suggesting the appropriate databases.

It is to be noted that NoSQL databases are not a replacement for traditional databases. So the proper recommendation (RDBMS or NoSQL) is totally based on the nature of uses cases. Some time, RDBMS з'яўляецца больш мэтазгодным у параўнанні з NoSQL,,en,калі абраны NoSQL для няправільнага выпадку выкарыстання, то гэта будзе праблемай для самога прыкладання,,en,Давайце паглядзім на некаторыя асноўныя рысы гэтых тэхналогій у наступным раздзеле,,en,Гэта ачысціць наша разуменне аб фактычных прабелах, якія могуць быць запоўненыя па NoSQL БД,,en,Фундаментальнае разуменне РСУБД і NoSQL,,en,Традыцыйныя сістэмы кіравання базамі дадзеных могуць гарантаваць добрую прадукцыйнасць з аб'ёмам тысяч транзакцый у секунду,,en,Але новае стагоддзе інтэрнэт-прыкладанні, такія як «выяўленне махлярства»,,en,«Аналіз рызык у рэальным маштабе часу»,,en,«У рэжыме рэальнага часу рэклама» і "шматкарыстальніцкія онлайн-гульняў і г.д.,,en,ўключае ў сябе мільёны транзакцый у секунду,,en,Такім чынам, гэтыя OLTP,,en,апрацоўкі транзакцый,,en. So, if NoSQL is selected for a wrong use case then it will be a problem for the application itself. Let us have a look at some fundamental features of these technologies in the next section. It will clear our understanding about the actual gaps which can be filled up by NoSQL DB.

Fundamental understanding of RDBMS and NoSQL: The traditional database management systems can guarantee good performance with a volume of thousands of transactions per second. But the new age internet applications like ‘fraud detection’, ‘real time risk analysis’, ‘real time advertising’ and ‘multi-player online games’ etc. involves millions of transactions per second. So these OLTP (online transaction processing) прыкладання вельмі цяжка кіраваць з традыцыйнымі рэляцыйнымі базамі дадзеных,,en,пастаўшчыкі СКБД таксама аказваюць шмат намаганняў па пераадоленні гэтых праблем,,en,але разрыў ўсё яшчэ застаецца, як гэта,,en,Традыцыйныя сістэмы кіравання рэляцыйнымі базамі дадзеных заўсёды распрацоўваюцца на аснове прынцыпаў ACID,,en,Гэтыя ўласцівасці ACID,,en,валентнасць,,en,кансістэнцыя,,en,цэласнасць і трываласць,,en,забяспечыць цэласнасць дадзеных любой цаной,,en,які з'яўляецца асновай любой рэляцыйнай сістэмы кіравання базамі дадзеных,,en,З RDBMS,,en,SQL з'яўляецца стандартам дэ-факта для задач апрацоўкі дадзеных, такіх як запыт дадзеных,,en,вызначэнне дадзеных,,en,апрацоўкі дадзеных і г.д.,,en,NoSQL сістэмы кіравання базамі дадзеных выкарыстоўваюцца розныя фарматы для захоўвання дадзеных,,en,Найбольш папулярныя фарматы граф крама,,en,магазін дакумент і ключ-значэнне крама,,en,Ключ-значэнне крама з'яўляецца самым простым фарматам і шырока выкарыстоўваецца,,en. хоць, the RDBMS vendors are also putting lot of efforts to overcome these issues, but the gap still remains as it is.

Traditional relational database management systems are always designed based on ACID principles. These ACID properties (atomicity, consistency, integrity and durability) ensure data integrity at any cost, which is the core of any relational database management system. With RDBMS, SQL is the de-facto standard for data processing tasks like data query, data definition, data manipulation etc.

On the other hand, NoSQL database management systems uses different formats to store the data. The most popular formats are graph store, document store and key-value store. The key-value store is the simplest format and widely used. базы дадзеных NoSQL выдаліць вялікую частку жорсткіх абмежаванняў, якія выкарыстоўваюцца ў RDBMS архітэктуры для забеспячэння гнуткасці захоўвання дадзеных,,en,Там, дзе СКБД не падыходзiць,,en,Як запоўніць гэтыя прабелы,,en,Ёсць шмат прыкладанняў, дзе традыцыйныя ACID кіраваны рэляцыйная мадэль не самы просты або лепшы варыянт,,en,Давайце ўважліва паглядзець на гэтыя прабелы, дзе NoSQL лепш падыходзіць,,en,Калі патрабаванне вашага прыкладання проста захоўваць аб'екты ў сталым і паслядоўным вобразе,,en,Затым СКБД з'яўляецца накладныя выдаткі,,en,Просты ключ-значэнне магазін больш чым дастаткова, каб задаволіць патрабаванне вашага прыкладання,,en,Значэнне можа быць любым комплексным асобай згодна з вашым патрабаванні,,en,Калі прыкладанне мае патрабаванне для захоўвання іерархічных аб'ектаў з магчымасцямі запытаў,,en,то СКБД не падыходны варыянт,,en, scalability, performance etc.

Where an RDBMS is not suitable? How to fill those gaps?

There are many applications where traditional ACID driven relational model is not the simplest or best option. Let us have a close look at those gaps where a NoSQL is the best fit.

  • If the requirement of your application is just to store the entities in a persistent and consistent way, then RDBMS is a overhead. The simple key-value store is more than sufficient to meet your application’s requirement. The value can be any complex entity as per your requirement.
  • If the application has a requirement to store hierarchical objects with query capabilities, then RDBMS is not the suitable option. хоць, RDBMS можа зрабіць гэта з дапамогай ORM інструментаў,,en,але гэта зноў-такі крыху больш складана,,en,тут якое-небудзь рашэнне NoSQL настойліва рэкамендуецца,,en,У сцэнары,,en,дзе нам трэба захоўваць сеткі або вялікія дрэвы,,en,РСУБД не з'яўляецца рашэннем,,en,Любая база дадзеных NoSQL, як базы дадзеных графа можа быць найлепшым чынам падыходзіць у залежнасці ад іншых патрабаванняў,,en,Калі дадатак разгорнута ў хмарнай асяроддзі з размеркаванай базай дадзеных,,en,то СКБД рашэнне не з'яўляецца пераважнай,,en,Тут зазор можа быць запоўнены толькі растворам NoSQL,,en,Асноўныя фактары, якія ўплываюць на,,en,Маштабаванне і прадукцыйнасць,,en,RDBMS мае ўбудаваны мяжа для гарызантальнага маштабавання,,en,Такім чынам, корань праблемы РСУБД з'яўляецца гарызантальнае маштабаванне, калі нагрузка і дадзеных павялічваецца,,en,RDBMS таксама не падтрымлівае аўтаматычны шардинг дадзеных,,en, but that is again a bit complicated. So, here any NoSQL solutions are highly recommended.
  • In a scenario, where we need to store networks or large trees, RDBMS is not the solution. Any NoSQL database like graph database can be the best fit depending on your other requirements.
  • If your application is deployed in a cloud environment with a distributed database, then a RDBMS solution is not preferred. Here the gap can only be filled by a NoSQL solution.

Major influencing factors, scaling and performance: RDBMS has a built in limit for horizontal scaling. So the root problem of RDBMS is the horizontal scaling when the load and data increases. RDBMS also do not support automatic data sharding. Аўтаматычнае Sharding дадзеных магчыма толькі тады, калі асобныя асобы, дадзеныя размеркаваны і апрацоўваюцца незалежна адзін ад аднаго,,en,На аснове ACID рэляцыйная мадэль не можа зрабіць гэта з-за сваёй мадэлі дадзеных на аснове табліцы,,en,Тут рашэнне NoSQL мае вялікае значэнне,,en,базы дадзеных NoSQL не распаўсюджваць лагічныя аб'екты ў некалькіх табліцах,,en,ён заўсёды захоўваецца ў адным месцы,,en,І няма спасылачныя цэласнасці падтрымліваецца паміж гэтымі лагічнымі аб'ектамі,,en,так NoSQL свабодна прапануе аўтаматычны шардинг дадзеных,,en,Хоць рашэнні NoSQL маюць абмежаваныя магчымасці ў параўнанні з рэляцыйнай мадэллю,,en,але канструкцыя зроблена наўмысна, каб забяспечыць высокую маштабаванасць,,en,Рашэнне NoSQL можна маштабаваць гарызантальна на размеркаванай асяроддзі і даступнасці падтрымкі,,en,Прадукцыйнасць у асноўным залежыць ад выбару правільнай тэхналогіі,,en,NoSQL або RDBMS,,en. An ACID based relational model cannot do that due to its table based data model. Here NoSQL solution has a big difference. NoSQL databases do not distribute logical entities in multiple tables; it is always stored in a single place. And there is no referential integrity maintained between these logical entities, so NoSQL is free to offer automatic data sharding. Although NoSQL solutions have limited features compared to relational model, but the design is made intentionally to provide high scalability. The NoSQL solution can scale horizontally on a distributed environment and support availability.

Performance mainly depends upon the selection of right technology (NoSQL or RDBMS) для правільнага выпадку выкарыстання,,en,калі мы выбіраем NoSQL для няправільнага выпадку выкарыстання, то ён таксама будзе забіць прадукцыйнасць прыкладання,,en,Акрамя такіх фактараў, як сеткі,,en,дыскавы ўвод / выснова і г.д.,,it,прадукцыйнасць у значнай ступені залежыць ад дадзеных і іх размеркавання па ўсім размеркаванай памяці,,en,NoSQL з'яўляецца адзіным рашэннем, здольным апрацоўваць вялікі аб'ём дадзеных у кластарнай асяроддзі і, такім чынам, павысіць прадукцыйнасць,,en,Такім чынам, мы можам зрабіць выснову аб тым, што NoSQL не з'яўляецца замена для традыцыйнага РСУБДА, але гэта альтэрнатыўнае рашэнне для вырашэння іншага набору выпадкаў выкарыстанняў,,en,NoSQL запаўняе прабелы ў рэляцыйнай базе дадзеных,,en. So, if we select NoSQL for a wrong use case then it will also kill the performance of the application. Apart from the factors like network, caching, disk I/O etc., the performance heavily depends upon the data and its distribution across the distributed storage. So, the NoSQL is the only solution capable of handling large volume of data in a clustered environment and hence boost the performance.

So we can conclude that the NoSQL is not a replacement for traditional RDBMS but it is an alternate solution to address a different set of uses cases.

Tagged on:
============================================= ============================================== Buy best TechAlpine Books on Amazon
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share