Introduction to NoSQL Database

Översikt: NoSQL database is the buzzword in the current software industry. NoSQL database is also widely accepted, but it is NOT a replacement for the traditional relational database management system (RDBMS), which stores data in relational tables. Så vi kan förenkla detta genom att säga att NoSQL är där för att övervinna de luckor som finns i traditionella RDBMS,,en,Jag kommer att diskutera om NoSQL databasen och dess olika aspekter,,en,NoSQL - tolkas som ’,,en,Inte bara SQL’,,en,är en databas som tillhandahåller en mekanism för att lagra och hämta data på ett sätt som skiljer sig från den traditionella RDBMS,,en,som är starkt beroende av tabell relationer,,en,Detta tillvägagångssätt initierades och accepterat baserat på följande fakta -,,en,Design Enkelhet / prestanda,,en,- I NoSQL datastrukturen är antingen nyckel-värdet eller platt fil,,en,På grund av sin enkla och lätta att hantera datastruktur,,en,NoSQL är snabbare än dess motsvarigheter,,en,Så resultatet är större differentiator,,en,horisontell skalbarhet,,en.

In this article, I will discuss about the NoSQL database and its various aspects.

Inledning: NoSQL – interpreted as ‘Not only SQL’ is a database that provides a mechanism to store and retrieve data in a manner which is different from the traditional RDBMS, which heavily depends on tabular relations. This approach was initiated and accepted based on the following facts –

  • Design Simplicity/Performance – In NoSQL the data structure is either key-value or flat file. Because of its simple and easy to manage data structure, NoSQL is faster than its counter parts. So the performance is major differentiator.
  • Horizontal Scalability - NoSQL databas implementeringar kan lätt skalas upp eller ner och när den behövs,,en,Så de två mest påverkande faktorer av NoSQL-databaser är ’,,en,Prestanda',,en,och ’,,en,skalbarhet’,,en,NoSQL-databas är utformad för att bekämpa nackdelarna med relationsmodellen,,en,Olika typer av NoSQL-databas,,en,Det finns olika typer av NoSQL-databaser som finns på marknaden,,en,Låt oss ta en titt för att få en uppfattning,,en,Key Value parat databas -,,en,Detta är den enklaste och vanligaste typen av NoSQL baserad databas,,en,varje post i databasen lagras i databasen som ett attribut som kallas nyckel tillsammans med dess värde,,en,Så det är i grunden en nyckel-värdepar,,en,Diagram Stores -,,en,Denna kategori av NoSQL används för att lagra information om nätverket t.ex.,,en,sociala nätverk uppgifter,,en.

So the two most influencing factors of NoSQL databases are ‘Performance’ and ‘Scalability’. NoSQL database is designed to combat the drawbacks of the relational model.

Different types of NoSQL database:

There are different types of NoSQL databases available in the market. Let us have a look to get an idea.

  • Key Value paired database – This is the simplest and most commonly used type of NoSQL based database. In this category, each item in the database is stored in the database as an attribute called key along with its value. So it is basically a key-value pair.
  • Graph Stores – This category of NoSQL is used to store information about network e.g. social networking data. E.g. Neo4J och HyperGraphDB etc,,en,Dokumentdatabas -,,en,Detta är en förlängd form av nyckelvärde parade DB där varje tangent är associerad med en komplex datastruktur,,en,Denna datastruktur är känd som dokument,,en,Dokument kan dessutom innehålla nyckelvärdeparet eller ens kapslade dokument,,en,Wide Column lagring -,,en,Dessa är optimerade för frågor över stora dataposter,,en,Dessa databaser lagrar kolumner med data istället för rader,,en,Fördelar med NoSQL,,en,Jämfört med traditionella relationsdatabaser,,en,NoSQL baserade databaser är mer skalbar och erbjuda bättre prestanda,,en,Relationsdatabaser sägs inte vara behörig att hantera följande scenarier -,,en,Relationsdatabaser misslyckas ofta med att hantera uppgifter om större volymer vara det strukturerade,,en,semi strukturerade eller ostrukturerade data,,en.
  • Document Database – This is an extended form of key value paired DB where every key is associated with a complex data structure. This data structure is known as document. Documents can further contain key value pair or even nested documents.
  • Wide Column storage – These are optimized for queries over large data records. These databases store columns of data instead of rows. E.g. Cassandra, HBase.

Advantages of NoSQL:

As compared to the traditional relational databases, NoSQL based databases are more scalable and offer better performance. Relational databases are said to be not competent to handle the following scenarios –

  • Relational databases often fail to handle data of larger volumes be it structured, semi structured or unstructured data.
  • Relationsdatabaser har misslyckats i det smidiga miljö som är sprint baserade och kräver raid iteration och frekvent kod publicering,,en,Relationsdatabaser är inte avsedda att vara kompatibel med objektorienterad programmering som är mycket enkel,,en,flexibel och lätt att använda,,en,Om du vill lagra hierarkiska objekt med frågefunktioner,,en,då RDBMS är inte den rekommenderade lösningen,,en,Endast NoSQL kan prestera bra,,en,För ett moln driftsättning,,en,som är en distribuerad miljö,,en,RDBMS är inte lämplig,,en,Så i ovanstående scenarier NoSQL är den enda lösningen för att fylla luckorna,,en,NoSQL datamodell är effektiv och har en skalbar arkitektur jämfört med relationsmodellen som är dyrt och följer en monolitisk arkitektur,,en,NoSQL tillåter oss att ha dynamisk schema för databasen,,en,I relationsdatabas,,en.
  • Relational databases are not designed to be compatible with object oriented programming which is very simple, flexible and easy to use.
  • If you want to store hierarchical objects with query capabilities, then RDBMS is not the recommended solution. Only NoSQL can perform well.
  • For a cloud deployment, which is a distributed environment, RDBMS is not suitable.

So in the above scenarios NoSQL is the only solution to fill the gaps. NoSQL data model is efficient and has a scalable architecture as compared to relational model which is expensive and follows a monolithic architecture.

NoSQL allows us to have dynamic schema for the database: In relational database; Vi måste definiera schemat i början,,en,Alla relationsdatabas kommer att vilja veta i förväg,,en,de data som vi vill lagra t.ex.,,en,Om vi ​​vill lagra en anställds rekord såsom namn,,en,avdelning,,en,telefonnummer,,en,adress etc,,en,Vi behöver också veta vilken typ av data och deras möjliga storlek i förväg,,en,Detta tillvägagångssätt innebär utmaningar i agila utvecklingsmetoder som varje gång vi behöver för att inkludera nya funktionen,,en,vi behöver ändra schemat vilket kan resultera i att ansökan instabil,,en,Om vi ​​tar ett samtal för att lägga till maken och barnen information om varje anställd i ansökan,,en,Vi kommer att kräva att lägga några fler kolumner och sedan en migrering krävs för att migrera gamla data i den nya tabellen,,en,I den här situationen,,en,Om databasens storlek är stor,,en. Any relational database will like to know in advance, the data that we want to store e.g. if we want to store an employee’s record such as name, department, phone number, address etc. We also need to know the data type and their possible size in advance. This approach presents challenges in agile development methodology as every time we need to include new feature, we need to modify the schema which may result in making the application unstable. E.g. if we take a call to add the spouse and kids details of every employee in the application, we will require to add few more columns and then a migration is required to migrate the old data in the new table. In this situation, if the database size is large, Vi kommer att kräva en avsevärd tid att migrera databasen, vilket kan resultera i en stor stilleståndstid,,en,Om vi ​​måste ta itu med dessa typer av förändringar ofta,,en,då blir det ganska problematiskt att hantera dessa driftstopp,,en,NoSQL baserade databaser är designade och utvecklade för att hantera dessa typer av situationer,,en,I NoSQL-databaser,,en,vi kan infoga data utan att ha en fördefinierad schema som gör våra liv lätt samtidigt som förändringar på databasnivå,,en,det hjälper i snabb utveckling och även koden integration är lättare detta tillvägagångssätt,,en,Så i NoSQL,,en,fördelen av ’,,en,dynamisk Schema,,en,’Ger oss en stor flexibilitet för att hantera ständigt föränderliga krav på webbapplikationer,,en,mekanism Sharding,,en,På grund av deras sätt att strukturera,,en,relationsdatabaser kan skala vertikalt dvs.,,en. If we need to address these kinds of changes frequently, then it will be quite problematic to manage these downtimes.

NoSQL based databases are designed and developed to handle these kinds of situations. In NoSQL databases, we can insert data without having a pre-defined schema which makes our life easy while making changes at the database level. Thus, it helps in rapid development and also the code integration is easier in this approach.

So in NoSQL, the advantage of ‘Dynamic Schema’ gives us a lot of flexibility for managing ever changing demands of web applications.

Sharding Mechanism: Because of their way of structuring, relational databases can scale vertically i.e. om vi behöver för att skala databasen av en ansökan,,en,vi behöver för att vara värd en enda server som har hela databasen lastas på det,,en,Detta för att säkerställa datatillgänglighet,,en,Detta tillvägagångssätt är relativt dyra och risken för misslyckande är också hög,,en,För att komma ur denna flaskhals är det tillrådligt att skala horisontellt snarare än vertikalt,,en,Sharding mekanism tillåter oss att ha databasen över flera serverinstanser som görs på SQL baserade databaser,,en,Detta åstadkoms med hjälp av Storage Area Networks eller SAN,,en,Eftersom databaserna inte tillhandahåller denna funktion blir ansvaret för utvecklaren att distribuera flera relationsdatabaser i olika system,,en,Varje enskild data lagras på alla databas instanser,,en; we need to host a single server having the entire database loaded on it. This is to ensure data availability. This approach is relatively expensive and the chances of failure are also high. To come out of this bottleneck it is advised to scale horizontally rather than vertically. Sharding mechanism allows us to have the database across multiple server instances which are done on SQL based databases. This is accomplished with the help of Storage Area Networks or SANs. Since the databases don’t provide this feature it becomes the responsibility of the developer to deploy multiple relational databases across different systems. Each and every single data is stored on all the database instances. Utvecklaren behöver utveckla programkoden för att distribuera data,,en,frågor och sammanställa resultaten av data över alla databas instanser,,en,kod bör utvecklas för att hantera misslyckanden resurs,,en,Detta kan göras genom att utföra går över olika databaser,,en,Detta tillvägagångssätt kallas uppgifter ombalansering och replikering,,en,Utöver detta många fördelar med relationsdatabas som transaktions integritet äventyras samtidigt anställa manuell sharding,,en,NoSQL-databaser stödjer generellt automatisk sharding,,en,dvs.,,en,dessa databaser har förmågan att sprida data över valfritt antal databas fall automatiskt,,en,Denna mekanism kräver inte att ansökan är ens medvetna om server sammansättningen pool,,en,Data och fråge lasten automatiskt balanseras över servrar,,en, queries and collate the results of the data across all the database instances. In addition to this, code should be developed to handle the resource failures. This can be done by performing joins across the different databases. This approach is called data rebalancing and replication. In addition to this many benefits of the relational database like transactional integrity is compromised while employing manual sharding.

On the other hand, NoSQL databases generally support automatic sharding. I.e. these databases have the ability to spread the data across any number of database instances automatically. This mechanism doesn’t require the application to be even aware of the server composition pool. Data and query load are automatically balanced across servers, och när en server går ner,,en,Den ersatte omedelbart orsakar inga störningar i ansökan,,en,Med Cloud computing på plats,,en,vi kan ha detta tillvägagångssätt kraftigt på ett enkelt sätt,,en,Molnleverantörer som Amazon Web Services eller AWS har förmågan att ge praktiskt taget obegränsad kapacitet på begäran och tar även hand om alla viktiga databasadministrationsuppgifter,,en,Nu utvecklarna inte längre behövs för att bygga komplicerade och dyra plattform för att stödja sina ansökningar,,en,och därmed är fri att koncentrera sig på att skriva programkod som kräver mer uppmärksamhet med tanke på komplexiteten i verksamheten,,en,Detta tillvägagångssätt är också kostnadseffektivt,,en,Data Replication,,en,De vanligaste NoSQL-databaser stödjer automatisk datareplikering,,en, it replaced immediately causing no disruption in the application.

With Cloud computing in place, we can have this approach significantly in an easy way. Cloud Providers like Amazon Web Services or AWS have the ability to provide virtually unlimited capacity on demand and also takes care of all the important database administration tasks. Now the developers are no longer required to build complicated and expensive platform to support their applications, and hence are free to concentrate on writing application code which requires more attention given the complexity of the business. This approach is also cost effective.

Data Replication: The commonly used NoSQL databases support automatic data replication. Således får vi hög tillgänglighet av data och även återhämtning mot katastrof och inte kräver involverar separata program för att hantera dessa uppgifter,,en,Genomförande NoSQL-databas,,en,De flesta organisationer börjar med att ha en implementering studie av NoSQL databas som hjälper dem att utveckla en förståelse av programvaran och tekniken eftersom det blir mycket svårt för de traditionella DBA att smälta tillvägagångssätt NoSQL,,en,De flesta av NoSQL-databaser är öppen källkod,,en,vilket gör det möjligt för utvecklare att ladda ner mjukvaran och starta POC utveckling utan att bry sig om de utmaningar licensiering,,en,Eftersom utvecklingscykler är kortare och snabbare utvecklare kan ta fördel att förnya och utforska nya områden som kan ge bättre resultat,,en.

Implementing NoSQL database:

Most organizations start with having a trial implementation of NoSQL database which helps them to develop an understanding of the software and the technology since it becomes very difficult for the traditional DBAs to digest the approach of NoSQL. Most of the NoSQL databases are open source, thus allowing the developers to download the software and start the POC development without bothering about the licensing challenges. Since the development cycles are shorter and faster developers can take the advantage to innovate and explore new areas which might produce better results.

Summary:

Vi har diskuterat om NoSQL databasen och dess olika aspekter,,en,Det är klart att NoSQL ersätter inte den traditionella RDBMS,,en,Men det har en annan uppsättning användningsfall som inte lämpar sig för RDBMS,,en,NoSQL-databaser ständigt förändras och det kommer med flera nya funktioner i en nära framtid,,en,låt oss ta en snabb titt på följande punkter,,en,NoSQL står för ’Not Only SQL’,,en,NoSQL baserade databaser skiljer sig med de traditionella databaser metoden att lagra och hämta data,,en,NoSQL baserade databaser är mycket snabbare jämfört med deras relations motsvarighet,,en,Olika typer av NoSQL-databaser är -,,en,Key Value Paired,,en,Diagram Lagrad,,en. Now, it is clear that NoSQL is not a replacement to the traditional RDBMS. But it has a different set of use cases which are not suitable for RDBMS. NoSQL databases are continuously evolving and it will come with more new features in near future. To conclude the discussion, let’s have a quick look at the following bullets.

  • NoSQL stands for ‘Not Only SQL’.
  • NoSQL based databases differs with the traditional databases in the approach of storing and retrieving the data.
  • NoSQL based databases are much faster as compared to their relational counterpart.
  • Different types of NoSQL databases are –
    • Key Value Paired
    • Graph Stored

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

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share