More Articles Archives - ID-2Sbo https://ssdb.io/category/more-articles/ Blog about NoSQL databases Fri, 11 Aug 2023 13:53:14 +0000 en-US hourly 1 https://wordpress.org/?v=6.3 https://ssdb.io/wp-content/uploads/2023/08/cropped-database-search-2797375_640-32x32.png More Articles Archives - ID-2Sbo https://ssdb.io/category/more-articles/ 32 32 Types of data models with NoSQL databases https://ssdb.io/types-of-data-models-with-nosql-databases/ Wed, 21 Jun 2023 13:48:00 +0000 https://ssdb.io/?p=70 Most high-performance non-relational databases (sometimes referred to as "not just SQL") can also handle data with complex structures.

The post Types of data models with NoSQL databases appeared first on ID-2Sbo.

]]>
Most high-performance non-relational databases (sometimes referred to as “not just SQL”) can also handle data with complex structures. However, they are not tied to fixed data models like relational databases (SQL).

Here are the four most common types of NoSQL databases:

Key-value
In key-value type stores, key and value pairs are generated using a hash table. Key-value type databases are best suited for when the key is known but the associated value is not.

Document databases
Document databases are an extended version of key-value databases in which entire documents are organized into groups called collections. They support nested key-value pairs and queries on any attributes of documents.

Column-based databases
Columnar, wide column, or column family based databases provide efficient data storage and querying of rows of sparse data. They are also convenient to use for querying specific columns of a database.

Graph
Graph databases use a model based on nodes and edges that represent related data (e.g., relationships between people in a social network). They also simplify storage and navigation of complex relationships.

The post Types of data models with NoSQL databases appeared first on ID-2Sbo.

]]>
Action of CAP theorem in the context of SQL and NoSQL https://ssdb.io/action-of-cap-theorem-in-the-context-of-sql-and-nosql/ Sun, 16 Apr 2023 13:43:00 +0000 https://ssdb.io/?p=67 While relational schemas rely on ACID principles, all NoSQL stores, without exception, rely on other principles described in the CAP theorem.

The post Action of CAP theorem in the context of SQL and NoSQL appeared first on ID-2Sbo.

]]>
While relational schemas rely on ACID principles, all NoSQL stores, without exception, rely on other principles described in the CAP theorem. For starters, it states that any data store has three basic properties:

  • Data Consistency (Consistency). That is, the data must be complete and consistent (including across all nodes in the cluster).
  • Availability. Roughly speaking, this is the speed of server response to our request (write or read).
  • Partition tolerance. This means that if the system is divided into several parts, each of them, if available, should be able to work autonomously, giving the correct response and providing its data. A broken link in the cluster should not affect the final performance.

The CAP theorem tells us that we can only get two of these three components. Or in the same 2:1 proportion, balance between these components: improved performance in one of the properties entails degradation in some other property. To better understand the power of this theorem, imagine a distributed storage where you are trying to provide 100% consistent data (read and write) without performance brakes.

In a single-server architecture, if the server is running, it is available. And the database on it, if the designer’s hands grow from the shoulders, is consistent. There is no need to worry about node partitioning, since the system is physically indivisible. It is under such conditions that classical relational systems emerged. And this is why they are partition-unstable: it makes no sense to design a separable structure in an indivisible environment.

In fact, almost all NoSQL technologies were born to solve the problem of partitioning resistance, that is, to run efficiently on clusters. The relational model is not up to the task because it was created for other purposes and in other environments. You will not be able to “just saw off a couple or three tables or quietly partition them into a neighboring cluster” and then go for coffee and tea. Welcome to Hell.

NoSQL stores by their very nature can be easily partitioned into a cluster because of the specific storage structure.

It is in a distributed system environment that the true essence of the CAP theorem becomes apparent. Obviously, creating a cluster that is unstable to partitioning is devoid of any practical use. That is, the cluster must be created a priori as partition-resistant. Understanding this fact allows us to see the CAP theorem in a new light: one can choose only one of consistency and availability – or use a reasonable compromise between these two items (not three, as one might think from the original definition).

The second task that NoSQL technology ideologists try to solve is to increase availability, i.e. to get a fast server response.

The post Action of CAP theorem in the context of SQL and NoSQL appeared first on ID-2Sbo.

]]>
What is a database? https://ssdb.io/what-is-a-database/ Sun, 12 Feb 2023 13:39:00 +0000 https://ssdb.io/?p=64 A database is an organized structure designed to store, modify, and process interdependent information, mostly in large volumes.

The post What is a database? appeared first on ID-2Sbo.

]]>
A database is an organized structure designed to store, modify, and process interdependent information, mostly in large volumes.

A database is used for dynamic websites with large volumes (online store, portal, corporate website).

What you need to know

A database is a certain set of data that is interconnected by a common feature or property and is organized, for example, alphabetically.

Combining a large amount of data into a single database allows you to create many variations of grouping information – personal data of a customer, order history, product catalog, and anything else.

The main advantage of the database is the speed of entering and using the necessary information. Thanks to special algorithms used for databases, you can easily find the necessary data in just a few seconds. Also, there is a certain interconnection of information in the database: a change in one row can cause changes in other rows – this helps to work with information easier and faster.

Purpose

Databases for websites allow you to store information that looks like linked tables. It is in the database that all the necessary and useful information for the website functioning is stored (customer data, price list, list of goods).

When programming websites, different database management systems are used. The main DBMSs include:

  • Oracle Database, an object-relational database management system;
  • free database management system PostgreSQL;
  • Microsoft SQL Server database management system;
  • free MySQL database management system;

Such management systems are characterized by centralized query processing, ensure reliability, availability, and security of the database.

The most popular management system is MySQL; it provides convenient access to database management and supports a large number of tables of various types.

Distributed databases

Distributed databases (DBMS) are a set of logically interconnected databases that are distributed over a computer network.

Advantages of RDBMS:

  • This model displays information in the simplest form for the user;
  • it is based on a developed mathematical apparatus that allows to describe the basic operations with data quite concisely;
  • allows creating data manipulation languages of non-procedural type;
  • manipulation of data at the level of the source database and the possibility of changes.

Disadvantages of RDBMS:

  • the slowest access to data;
  • laboriousness of development.
  • Database management systems

DBMSs are software tools that act as an intermediary between the database and its users. Thanks to a set of language and software tools, DBMSs facilitate the creation, maintenance and sharing of databases by different users.

A modern DBMS program consists of a kernel, a database language processor, a runtime support subsystem, and service programs that provide additional capabilities for maintaining information systems.

The post What is a database? appeared first on ID-2Sbo.

]]>