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

Nadchodzi Postgresql JSONB. Czego teraz użyć? Hsklep? JSON? EAV?

To zależy. Jeśli spodziewasz się, że będziesz mieć wielu użytkowników, bardzo dużą liczbę transakcji lub niesamowitą liczbę pobieranych atrybutów na zapytanie, powiedziałbym, że użyj HSTORE. Jeśli jednak Twoja aplikacja zacznie się mała i będzie się rozwijać z czasem, lub będzie miała stosunkowo niewiele transakcji, które pobierają atrybuty, lub po prostu pobiera kilka na zapytanie, użyj JSON. Nawet w tym drugim przypadku, jeśli nie pobierasz wielu atrybutów, ale często sprawdzasz jeden lub dwa klucze w WHERE klauzuli zapytań, możesz utworzyć indeks funkcjonalny, aby przyspieszyć działanie:

CREATE INDEX idx_foo_somekey ON foo((bar ->> 'somekey'));

Teraz, gdy masz WHERE bar ->> somekey , powinien używać indeksu.

I oczywiście łatwiej będzie używać zagnieżdżonych danych i uaktualnić do jsonb, gdy staną się one dla Ciebie dostępne.

Więc skłaniałbym się ku JSON, chyba że masz pewność, że skopiesz tyłek swojemu serwerowi, używając intensywnego pobierania kluczy, zanim będziesz miał szansę na uaktualnienie do wersji 9.4. Ale aby się tego upewnić, powiedziałbym, że przeprowadź teraz kilka testów porównawczych z przewidywanymi ilościami zapytań i zobacz, co działa najlepiej dla Ciebie.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. psycopg2 :kursor już zamknięty

  2. 2 sposoby zwracania wierszy zawierających tylko znaki alfanumeryczne w PostgreSQL

  3. Unikalne ograniczenie w jednej kolumnie z wykluczeniem wiersza z tymi samymi wartościami w innych

  4. Wiele wartości domyślnych określonych dla identyfikatora kolumny tabeli

  5. Railsy:PG::InsufficientPrivilege:BŁĄD:odmowa uprawnień dla relacji schema_migrations