Liste SQL DBMS :
Voir :
Voir :
Données structurées, semi structurées, non structurées
Non structuré
Database management system provides mechanism for storage and retrieval of data. There are three main types of database management systems namely RDBMS (Relational Database management Systems), OLAP (Online Analytical Processing Systems) and NoSQL.
https://en.m.wikipedia.org/wiki/Lists_of_database_management_systems
https://en.m.wikipedia.org/wiki/List_of_databases_using_MVCC
https://github.com/gostor/awesome-go-storage#database
Clef valeur : Valkey (Redis), etcd, BoltDB / bbolt (embedded key/value database), TiKV (cncf.io) Voir : https://juicefs.com/docs/community/databases_for_metadata/
Ddistributed vector database : Milvus https://en.wikipedia.org/wiki/Milvus_(vector_database)
Db orientées documents : CoucheDB, MongoDB, TinyDB
base de données orientée graphe : Neo4j, OrientDB, TinkerPop (OLAP & OLTP)
Fichiers plats : CSV, JSON, YAML, XML, HDF5
column-oriented database : ClickHouse, hbase (HDFS)
Semi-structured data : XML; HTML, JSON, YAML
Autres : LMDB Lightning Memory-Mapped Database : Base de données en mémoire et NoSQL
indépendamment de cela il existe des bases de données optimisées pour de la lecture : LDAP, etcd…
RDF / Triplestore
Prometheus
Scalable horizontalement
(Analyse multi-dimensionnelle)
Voir :
Event logs Event-Oriented Database
EventQL
Suivant l'activité de l'entreprise, les besoins d'exécution du métier peuvent imposer des contraintes techniques. Les différentes technologies de bases de données se répartissent en deux grandes familles suivant leurs missions principales.
Les bases de données ayant vocation à stocker des données en temps réel. C'est le cas des bases de données MySQL ou MongoDB. On les catégorise comme bases de données OLTP (Online transaction processing).
D'autres technologies ont l'analyse de données au cœur de leurs préoccupations. Il s'agit de bases de données OLAP (OnLine Analytical Processing). Elles sont capables de traiter d'importants volumes de données rapidement afin de produire différents rapports.
transaction processing (OLTP) and analytical processing (OLAP) workloads.
Olap tools & servers :
Voir : https://en.wikipedia.org/wiki/Comparison_of_OLAP_servers
ClickHouse https://m.youtube.com/watch?v=FsVrFbcyb84
Voir https://practicalprogramming.fr/snowflake
Le Data Warehouse base l'exploitation des données qu'il renferme sur un processus d'ETL (Extract, Tranform, Load) permettant de charger les données issues des différentes applications.
Voir :
Outils :
https://en.m.wikipedia.org/wiki/Query_language
Sur la plupart des bases de données comme Redis / Valkey, MongoDB, RabbitMQ, CouchBase, Kafka désactiver les Transparent Huge Pages il est recommandé de désactiver transparent_hugepages_thp Transparent HugePages THP
Parametre Kernel : net.ipv4.ip_local_port_range Valeur attendue : Min 9000 Max 65500 Valeur constatée : Min 32768 Max 65535
CFQ : deadline
Migration schéma :
Backup :
Requête sur des bases NoSQL http://b3d.bdpedia.fr/bddoc.html
Comparaison https://hackolade.com/help/NoSQLdatabasesJSONRESTAPIs.html
The CAP theorem states that any distributed database can only have a maximum of two of three desirable qualities: consistency, availability, and partition tolerance.
Voir aussi : Propriétés ACID
Voir : https://www.ibm.com/docs/en/psfa/7.2.1?topic=configuration-overview-odbc-jdbc-ole-db-net
Voir :
Adminer est compatible :
Pour quelle finalité : pour du traitement ou pour de l'analytique (OLTP ou OLAP) ?
Les données sont-elles déjà formatées ?
Quelle quantité de données ?
Quels IO ?
Besoin de mise à l'échelle horizontale (scalabilité) ?
Besoin par rapport au théorème CAP (Théorème de Brewer) ?
Les données doivent-elle être présentées à l'appli via une couche d'abstraction tel que :
Quels sont les besoin en terme de persistance ?
Fait-il une gestion de version (MVCC) ?
Est-ce plus pour de la lecture ou lecture / écriture ?
Meta DB
Autres:
HBase est un système de gestion de base de données non relationnelle orienté colonnes qui fonctionne sur HDFS
hdfs dfs -ls / hbase hbck -details