Databases are the information repository par excellence in companies. We usually identify the best-known providers with relational models: Oracle, Microsoft, SAP or IBM, etc.
Thanks to the development of solutions Big DataIn this direction, tools have emerged that focus on improving the performance and scalability of databases. In this direction we have databases that distribute the work among several nodes, databases that load the entire database in memory or a mixture of both.
The new Data Mesh paradigm and its decentralisation facilitates the acquisition of new ultra-specialised technologies. This architecture model advocates sharing information between departments (domains) regardless of the software used. Moreover, because each domain owns its data, it facilitates the adoption of new technologies within each domain.
Non-SQL database types
Nowadays there are a multitude of databases of very specific use that are not very well known outside their field of application. Almost all of them could be included in the category of No-SQL databases and one classification could be:
Key-value (key-value)
This is the simplest type of non-SQL database. The tables are composed of only two columns: the first acts as a key to access the record and the second contains a variable list of fields. They can also be called dictionary tables or Hash tables in reference to their keys.
Examples: DynamoDB, Redis o Hazelcast.
Based on JSON documents
It stores information in JSON or XML documents and can contain both structured and semi-structured data. Access to each record is by a unique access key.
Examples: MongoDB o Couchbase.
Search engines
Stores the information in documents without specific formatting and apply optimised search engines. These databases capture the information from these documents and arrange it in an orderly fashion according to the priority set by the user. They are especially used for the automatic reading of log files.
Examples: Splunk, ElasticSearch o Apache SolR.
Networks
They use specific modelling and design to distribute information by means of graphs. There are nodes and relationships between nodes so that, with this configuration, graph logic can be applied to find the shortest path between two nodes, the identification of isolated networks of nodes, etc.
Examples: Neo4J, OrientDB o TigerGraph.
Wide-column
This specific type of database stores the information of each record across the different rows of a single column. It is equivalent to pivoting a traditional table and improves write performance on large volumes of data by working with areas of information that are closer together.
Examples: Amazon Redshift, Apache CassandraMonetDB and ScyllaDB.
Temporary
They are optimised for use cases where the data is related to a timestamp. For this reason they are widely used for monitoring, tracking or working with time intervals.
Examples: InfluxDB, Prometheus, Graphite or AWS TimeStream
Space
Enables the storage of the geometries of cartographic files. Facilitates operations with shapefile formats used in GIS applications.
Examples: PostGIS, Spatialite or H2GIS.
Vectorial
It is one of the most recent types. It has a strong relationship with machine learning and artificial intelligence models. By defining entities as vectors we can apply algebraic similarity operations and compare assets in non-traditional ways.