Jak tworzone są silniki baz danych?

0

Cześć,

Wiemy, że jedne bazy są polecane do X zadań, drugie do Y, trzecie znów do Q ilości danych, czwarte do działania na danych typu "social media"

Ale tak właściwie jak wygląda tworzenie takiego silnika bazy danych?

Wydaje mi się, że chodzi +- o takie zagadnienia

Przechowywanie i zabezpieczanie danych
SQL/NOSQL
Odczyt / zapis danych
Język do pisania kwerend
Algorytmy do działań na danych + Triki optymalizacyjne

Znalazłem jeden temat na stacku, lecz jest z 2009, a sądzę, że przez 8 lat dużo się zmieniło.

https://stackoverflow.com/questions/1052189/how-to-write-a-simple-database-engine

1

Inaczej zaprojektujesz bazę służącą do niedużej ilości skomplikowanych zapytań, a inaczej bazę do dużych ilości prostych odczytów i zapisów. Inaczej zaprojektujesz bazę, która siedzi w całości w RAMie od bazy, która jest rozproszona po wielu węzłach w centrum obliczeniowym. Inaczej też zaprojektujesz bazę jeśli skupisz się na maksymalnym przyspieszeniu pewnej rodziny zapytań niż gdybyś tworzył bazę ogólnego zastosowania.

Średnio się znam ale ZTCW to:

  • bazy ogólnego zastosowania zwykle opiera się o B-drzewa zapisywane na dysku
  • bazy zorientowane na przepustowość opiera się zwykle o dzienniki zmian do których się stale dorzuca nowe dane na koniec, a potem partiami asynchronicznie optymalizuje
0
Wibowit napisał(a):

Inaczej zaprojektujesz bazę służącą do niedużej ilości skomplikowanych zapytań, a inaczej bazę do dużych ilości prostych odczytów i zapisów. Inaczej zaprojektujesz bazę, która siedzi w całości w RAMie od bazy, która jest rozproszona po wielu węzłach w centrum obliczeniowym. Inaczej też zaprojektujesz bazę jeśli skupisz się na maksymalnym przyspieszeniu pewnej rodziny zapytań niż gdybyś tworzył bazę ogólnego zastosowania.

Wiem, wiem. Tylko jakoś trzeba zacząć, a dodatkowo na czym polegają (jakiś przykład) lub co się implementuje żeby uzyskać w/w (w twoim poście) cele?

np. Jaka jest różnica pomiędzy bazą która jest dobra dla małej ilości zapytań, a taką która obsługuje np youtube/fb/itd

Ok, widzę edit - dzięki

0

YouTube jak i inne Google'owe wynalazki pewnie opiera się o Google'owe BigTable: https://en.wikipedia.org/wiki/Bigtable
Jest sporo publikacji o tym jak działa BigTable i jemu podobne bazy danych.

1 użytkowników online, w tym zalogowanych: 0, gości: 1