EuroLinux

EuroDB to przede wszystkim sprawdzony silnik bazodanowy PostgreSQL

Sercem EuroDB jest silnik bazodanowy PostgreSQL. Jest on rozwijany od ponad 15 lat w oparciu o metodologię Open Source. Ten dojrzały produkt obsługuje wszystkie popularne typy danych oraz zapewnia wsparcie dla przechowywania dużych obiektów binarnych, np. zdjęć, muzyki lub filmów. Ponadto oferuje wsparcie dla typów danych znanych z baz NoSQL (JSON, HSTORE). Posiada interfejsy programistyczne dla wielu języków, w tym dla C/C++, Java™, Perl, Python, Ruby, Tcl, ODBC. PostgreSQL to także doskonała dokumentacja usprawniająca proces rozwoju systemów i aplikacji.

Platforma EuroDB jest rozwiązaniem klasy Enterprise. Jej integralną częścią jest profesjonalna asysta techniczna realizowana przez certyfikowanych architektów i inżynierów.

System wspiera takie mechanizmy jak:

  • schematy
  • kontrola wersji (MVCC)
  • odtwarzanie do punktu w czasie (PiTR)
  • przestrzenie tabel (tablespaces)
  • partycjonowanie tabel
  • replikację
  • transakcje zagnieżdżone (nested transaction)
  • różne metody wykonywania kopii zapasowych
  • rozbudowany planer kwerend pozwalający szybko zdiagnozować problemy wydajnościowe
  • przyspieszanie wykonywania zapytań przez kompilację JIT
  • zapis logów z wyprzedzeniem (write ahead log)
  • międzynarodowe zestawy kodowań
  • wielobajtowe ciągi znaków (mbstring)
  • Unicode.

Platforma EuroDB została zaprojektowana do obsługi najbardziej wymagających projektów.

EuroDB jest w pełni zgodne z PostgreSQL 11.3; 10.8; 9.6 oraz 9.5. Migracja z natywnej implementacji tego silnika nie wymaga zmian w aplikacjach. Ewentualne zmiany są proste oraz jedynie opcjonalne, a ich celem jest lepsze wykorzystanie dodatkowych możliwości EuroDB.

Maksymalne parametry techniczne EuroDB:

Limit Wartość
Rozmiar bazy danych Bez limitu
Rozmiar tabeli 32TB
Rozmiar rzędu 1.6TB
Rozmiar pola 1GB
Rzędów per tabela Bez limitu
Kolumn per tabela 250 – 1600 (zależnie od typu)
Indeksów per tabela Bez limitu


Do zalet silnika wykorzystywanego przez EuroDB należą:

  • mechanizmy ochrony integralności danych takie jak: złożone klucze główne, klucze obce, kaskadowe aktualizacje i kasowanie, ograniczenia sprawdzające, ograniczenia unikalności, ograniczenia pól niepustych;
  • wsparcie dla pobierania wyników cząstkowych przy użyciu dostępnych typów indeksów;
  • system indeksowania GiST zapewniający dostęp do wielu różnorakich mechanizmów sortowania i przeszukiwania danych. Rozszerzenia GiST takie jak OpenFTS – umożliwiający wyszukiwanie pełnotekstowe (trafność dopasowania wyszukiwanej frazy) oraz PostGIS – baza danych dla systemów geograficznych, czynią go wszechstronnym;
  • wsparcie dla mechanizmu partycjonowania, który znacząco przyspiesza zapytania, gdy tabele zawierają bardzo duże ilości danych;
  • dziedziczenie tabel umożliwia traktowanie istniejących tabel jako klas bazowych, umożliwiając deweloperom nowe zastosowania;
  • zestawy reguł umożliwiające transformacje określonych typów kwerend na inne, zgodnie z ustalonymi zasadami;
  • wsparcie dla wydajnej obsługi danych w formacie JSON przy pomocy typu JSONB oraz dedykowanych funkcji serwera;
  • system obsługi zdarzeń (events), pozwalający na komunikację pomiędzy klientami (peer to peer) oraz na notyfikacje klientów o zmianach w tabeli.

Poniższa tabela obrazuje różnice w możliwościach silnika zastosowanego w EuroDB w porównaniu z natywną implementacją PostgreSQL dostępną w systemach Red Hat®, Oracle® Linux, CentOS, Scientific Linux.

Funkcja RHEL/CentOS/SL/OL EuroDB
maksymalny rozmiar BLOB 2GB 4TB
modyfikacja parametrów konfiguracyjnych
klastra przy użyciu kwerendy (ALTER SYSTEM)
NIE TAK
sumy kontrolne plików danych NIE TAK
COPY do STDIN/STDOUT NIE TAK
INSERT … ON CONFLICT DO NOTHING / UPDATE NIE TAK
widoki zmaterializowane (materialized view) NIE TAK
wsparcie dla partycjonowania NIE TAK
kompilacja JIT zapytań NIE TAK
wydajność indeksów GIN niska wysoka
rozmiar indeksów GIN duża mała

I więcej - pełna lista dodatkowych funkcjonalności znajduje się tutaj.

Funkcja RHEL/CentOS/SL/OL EuroDB
maksymalny rozmiar BLOB 2GB 4TB
modyfikacja parametrów konfiguracyjnych
klastra przy użyciu kwerendy (ALTER SYSTEM)
NIE TAK
sumy kontrolne plików danych NIE TAK
COPY do STDIN/STDOUT NIE TAK
INSERT … ON CONFLICT DO NOTHING / UPDATE NIE TAK
widoki zmaterializowane (materialized view) NIE TAK
wsparcie dla partycjonowania NIE TAK
kompilacja JIT zapytań NIE TAK
wydajność indeksów GIN niska wysoka
rozmiar indeksów GIN duża mała
modyfikacja typu logowania dla tabeli
(LOGGED / UNLOGGED)
NIE TAK
prywatne procesy w tle NIE TAK
dynamiczne procesy w tle NIE TAK
dziedziczenie z tabel obcych NIE TAK
agregacja danych na podstawie zbiorów grup
(GROUPING SET)
NIE TAK
import schematu z obcego serwera NIE TAK
wzbogacona obsługa JSON / JSONB NIE TAK
obsługa opcji LATERAL
(dostęp do wartości sub-kwerend w kwerendzie nadrzędnej)
NIE TAK
odświeżanie widoków zmaterializowanych (REFRESH) NIE TAK
ustawienie minimalnego i maksymalnego rozmiaru WAL
(zamiast ilości plików)
NIE TAK
równoległy pg_dump (wielowątkowy) NIE TAK
sloty replikacyjne (replication slots) NIE TAK
obsługa bezkonfliktowej aktualizacji kolumn bez kluczy
(NO KEY UPDATE)
NIE TAK
replikacja kaskadowa NIE TAK
anonimowa pamięć współdzielona NIE TAK
stałe opóźnienie w replikach NIE TAK
modyfikowalne widoki proste (UPDATE/INSERT/DELETE) NIE TAK
numerowanie wierszy (WITH ORDINALITY) NIE TAK
modyfikowalne referencje do baz obcych
(Writable Foreign Data Wrapper)
NIE TAK
indeksy skrócone NIE TAK
sterowanie przepustowością pg_basebackup NIE TAK
indeksy BRIN NIE TAK
równolegle czyszczenie bazy (VACUUM) NIE TAK
Wsparcie dla zimnego startu bazy (pg_prewarm) NIE TAK
zredukowany poziom blokowania dla modyfikacji tabeli NIE TAK
próbkowanie tabeli (TABLESAMPLE) NIE TAK
pomijanie wierszy zablokowanych NIE TAK
wsparcie dla Kerberos 5 NIE TAK
obsługa filtrów na wynikach zagergowanych NIE TAK
obsługa transformacji danych (TRANSFORM) NIE TAK
pg_rewind (przywracanie nodów klastra po failoverze) NIE TAK
wsparcie wyrażeń regularnych w indeksach trygramowych NIE TAK
dostęp do czytelnego zrzutu WAL NIE TAK
wsparcie dla definiowania partycji z kluczami głównymi, kluczami obcymi, indeksami i wyzwalaczami NIE TAK
domyślna partycja dla podzielonych tabel (default partition) NIE TAK
tworzenie partycji przy pomocy tzw. hash partitioning NIE TAK
automatyczne przenoszenie wierszy pomiędzy partycjami w przypadku zmiany klucza NIE TAK
Menu
+48 22 243 22 33
close slider