How NoSQL fills the gaps in traditional RDBMS?

NoSQL נתונים יכולים להיות של קטגוריות שונות כמו מסד נתונים מרכזי-ערך,,en,הנתונים NoSQL נחשב מסד נתונים מיוחדים כדי לתמוך בצרכים העסקיים מורכבים,,en,בואו לראות איך נתוני NoSQL יכולים למלא את הפערים שנמצאו מסורתית RDBMS,,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 DB,,en,הבנה בסיסית של RDBMS ו 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,גם ספקי RDBMS לשים הרבה מאמצים כדי להתגבר על בעיות אלו,,en,אבל הפער עדיין עומד בעינו,,en,מערכות ניהול מסדי נתונים יחסיים מסורתית תמיד נועדו מבוסס על עקרונות ACID,,en,תכונות ACID אלה,,en,אָטוֹמִיוּת,,en,עֲקֵבִיוּת,,en,שלמות ועמידות,,en,להבטיח שלמות הנתונים בכל מחיר,,en,המהווה את הליבה של כל מערכת ניהול מסדי נתונים יחסית,,en,עם RDBMS,,en,SQL הוא תקן דה-פקטו עבור משימות עיבוד נתונים כמו שאילתת נתונים,,en,הגדרת נתונים,,en,מניפולציה נתונים וכו,,en,NoSQL מערכות ניהול מסדי נתונים נעשה שימוש בפורמטים שונים לאחסון נתונים,,en,הפורמטים הנפוצים ביותר הם חנות גרף,,en,חנות מסמך וחנות מפתח-ערך,,en,חנות מפתח-הערך היא הפורמט הפשוט בשימוש נרחב,,en. Although, 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,נעבר RDBMS הוא לא מתאים,,en,כיצד למלא פערים אלה,,en,ישנם יישומים רבים בם מודל יחסי מסורתי מונע ACID הוא לא האפשרות הפשוטה ביותר או טובה ביותר,,en,הבה נעיף מבט מקרוב על פערים אלה שבהם NoSQL הוא בכושר הטוב ביותר,,en,אם הדרישה של היישום שלך היא רק כדי לאחסן את הישויות בצורה מתמשכת ועקבית,,en,אז RDBMS היא תקורה,,en,חנות מפתח-הערך הפשוטה יש די והותר כדי לענות על הדרישה של היישום שלך,,en,הערך יכול להיות כל ישות מורכבת לפי הדרישה שלך,,en,אם היישום יש דרישה לאחסון חפצים היררכיים עם יכולות שאילתא,,en,אז RDBMS הוא לא האפשרות המתאימה,,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. Although, RDBMS יכול לעשות את זה בעזרת כלי ORM,,en,אבל זה שוב קצת מסובך,,en,כאן כל פתרונות NoSQL מומלצים ביותר,,en,בתרחיש,,en,איפה אנחנו צריכים לאחסן רשתות או עצים גדולים,,en,RDBMS היא לא הפתרון,,en,כל נתוני NoSQL כמו מסד גרף יכולים להיות בכושר הטוב ביותר בהתאם לדרישות האחרות שלך,,en,אם בקשתך פרוסה בסביבת ענן עם מסד נתונים מבוזרים,,en,אז פתרון RDBMS אינו מועדף,,en,כאן הפער יכול להתמלא רק על ידי פתרון NoSQL,,en,בגורמים משפיעים סרן,,en,קנה מידה וביצועים,,en,RDBMS יש מובנה גבול עבור קנה מידה אופקית,,en,אז הבעיה שורש RDBMS הוא קנה המידה האופקי כאשר עליות העומס ונתונים,,en,RDBMS גם אינו תומך sharding נתונים אוטומטי,,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,מודל יחסי מבוסס חומצה לא יכול לעשות את זה בגלל מודל נתוני הטבלה המבוסס שלה,,en,הנה פתרון NoSQL יש הבדל גדול,,en,מסדי נתוני NoSQL לא להפיץ גופים הגיוניים בטבלאות מרובה,,en,זה מאוחסן תמיד במקום אחד,,en,ואין שלמות קשרים נשמרה בין גופים ההגיוניים אלה,,en,כך NoSQL הוא חופשי להציע sharding נתונים אוטומטי,,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,דיסק I / O, וכו ',,it,הביצועים תלוי בכבדות על הנתונים והפצתו ברחבי אחסון מבוזרות,,en,NoSQL הוא הפתרון היחיד שמסוגל לטפל בנפח גדול של נתונים בסביבת אשכולות ומכאן לשפר את הביצועים,,en,אז אנחנו יכולים להסיק כי NoSQL אינו מהווה תחליף RDBMS מסורתית אבל זה פתרון חלופי כדי לטפל בקבוצה שונה ממקרי שימושים,,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