PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Plany sklepów kolumnowych

W pgsql-general Braulio Bhavamitra pyta:

To całkiem interesujące pytanie. Całkowite zastąpienie obecnego sklepu opartego na wierszach nie byłoby dobrym pomysłem:służył nam bardzo dobrze i jestem prawie pewien, że zastąpienie go całkowicie sklepem kolumnowym byłoby katastrofalne pod względem wydajności w przypadkach użycia OLTP.

Niektóre kolumny. Zdjęcie dzięki uprzejmości Yiming Sun na Flickr

Nie oznacza to, że sklepy kolumnowe są ogólnie złym pomysłem — ponieważ tak nie jest. Mają po prostu bardziej ograniczony przypadek użycia niż „cała baza danych”. W przypadku zapytań analitycznych dotyczących głównie danych z dołączaniem, magazyn kolumnowy jest znacznie bardziej odpowiednią reprezentacją niż zwykły magazyn oparty na wierszach, ale nie wszystkie bazy danych są analityczne.

Jednak, aby osiągnąć interesujący wzrost wydajności, musisz zrobić znacznie więcej niż tylko zmienić podstawową pamięć:musisz upewnić się, że reszta systemu może skorzystać ze zmienionej reprezentacji, aby mogła optymalnie wykonywać zapytania; na przykład możesz potrzebować agregatów, które działają w trybie SIMD, a nie pojedynczo, jak to jest obecnie. To samo w sobie jest dużym przedsięwzięciem, ale są też inne wyzwania.

Jak się okazuje, w 2nd Quadrant jest zespół zajmujący się właśnie tymi sprawami. Opublikowaliśmy łatkę w zeszłym roku, ale nie była ona szczególnie interesująca — spowodowała tylko jednocyfrową procentową poprawę wyników TPC-H; nie wystarczy, aby niepokoić społeczność programistów (była to dość inwazyjna łatka). Chcemy więcej.

W naszym projekcie opcja kolumnowa lub nie będzie opcją:będziesz mógł powiedzieć Drogi serwerze, dla tej tabeli uprzejmie skonfiguruj dla mnie pamięć kolumnową, dobrze? Dziękuję bardzo . A potem dostaniesz tabelę, która może być wolniejsza przy regularnym użytkowaniu, ale która będzie kołysać do analiz. W przypadku większości tabel obecny magazyn oparty na wierszach nadal będzie prawdopodobnie najlepszą opcją, ponieważ przechowywanie oparte na wierszach jest znacznie lepiej dostosowane do bardziej ogólnych przypadków.

Nie mamy jeszcze harmonogramu. Bądź na bieżąco.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tworzenie wysoko dostępnej bazy danych dla Moodle za pomocą PostgreSQL

  2. Konfiguracja bazy danych ActiveRecord::AdapterNotSpecified nie określa adaptera

  3. Granice wydajności rozwiązań replikacji logicznej

  4. org.postgresql.util.PSQLException:FATAL:przepraszam, już za dużo klientów

  5. Rails Migrations:próbowano zmienić typ kolumny z ciągu na liczbę całkowitą