Postgres – vsetko, co si chtel vediet, ale bal sa spytat svojho seniora, aby si nevypadal ako jelito 11. TimescaleDB.
TimescaleDB je standardna ekstnsna postgresu, tak ako ine extensny. Je zamerana na zbieranie time-series dat a to velkych dat (typicky zo senzorov). Zvonku je pri pohlade na Postgres transparentna, je to skor sposob, akym enginom Postgres bude ukladat rady casovych dat. Preco ju pouzivat je pekne vysvetlene tu.
Instaluje sa standardne – balik na rovni OS a potom CREATE EXTENSION IF NOT EXISTS timescaledb;
Klucovou komponentou su hypertables – tabulky extensny, ktore sa tvaria ako normalne postgres tabulky, ale budu volane cez timescaleDB API. Postup je 2-krokovy: vytvori sa standardna tabulka so stlpcomi casovych dat (timestamptz, data, a pod.) a potom sa spusti nad tabulkou create_hypertable. Queries nad nimi standardnou cestou (SELECT, INSERT), ale timescaleDB pridava niekolko SQL vyfikundacii, napr. fuunkcie time_bucket, histogram a pod…
Hypertables maj vlastny vnutorny casovy partitioning (chunks). Extremne dolezite je z hladiska vykonu naskalovat tieto chunks tak, aby sa vosli do pamate, resp. best practice je, aby velkost chunkov bola cca 25% pamate.