Paglabas ng TimescaleDB 1.7

Nai-publish Paglabas ng DBMS TimescaleDB 1.7, na idinisenyo para sa pag-iimbak at pagproseso ng data sa anyo ng isang serye ng oras (mga hiwa ng mga halaga ng parameter sa tinukoy na mga agwat; ang talaan ay bumubuo ng oras at isang hanay ng mga halaga na naaayon sa oras na ito). Ang paraan ng storage na ito ay pinakamainam para sa mga application tulad ng mga monitoring system, trading platform, system para sa pagkolekta ng mga sukatan at sensor states. Ang mga tool para sa pagsasama sa proyekto ay ibinigay grafana ΠΈ Promiteyus.

Ang proyektong TimescaleDB ay ipinatupad bilang extension sa PostgreSQL at ipinamahagi ni lisensyado sa ilalim ng Apache 2.0. Piraso ng code na may mga advanced na feature na available sa ilalim ng hiwalay na lisensyang pagmamay-ari Timescale (TSL), na hindi pinapayagan ang mga pagbabago, ipinagbabawal ang paggamit ng code sa mga third-party na produkto at hindi pinapayagan ang libreng paggamit sa mga cloud database (database-as-a-service).

Kabilang sa mga pagbabago sa TimescaleDB 1.7:

  • Nagdagdag ng suporta para sa pagsasama sa DBMS PostgreSQL 12. Ang suporta para sa PostgreSQL 9.6.x at 10.x ay hindi na ginagamit (Susuportahan lang ng Timescale 2.0 ang PostgreSQL 11+).
  • Ang gawi ng mga query na may patuloy na tumatakbong pinagsama-samang mga function (pagsasama-sama ng patuloy na papasok na data sa real time) ay nabago. Pinagsasama na ngayon ng mga naturang query ang mga materialized na view sa mga bagong dating na data na hindi pa nagagawa (noon, ang pagsasama-sama ay sumasaklaw lamang sa data na na-materialize na). Nalalapat ang bagong gawi sa mga bagong likhang tuluy-tuloy na pagsasama-sama; para sa mga kasalukuyang view, ang parameter na "timescaledb.materialized_only=false" ay dapat itakda sa pamamagitan ng "ALTER VIEW."
  • Ang ilang mga advanced na tool sa pamamahala ng lifecycle ng data ay inilipat sa bersyon ng Komunidad mula sa komersyal na edisyon, kabilang ang kakayahang muling pagpangkatin ang data at iproseso ang mga hindi na ginagamit na patakaran sa pagpapaalis ng data (nagbibigay-daan sa iyong mag-imbak lamang ng kasalukuyang data at awtomatikong magtanggal, magsama-sama o mag-archive ng mga hindi na ginagamit na tala).

Alalahanin natin na ang TimescaleDB DBMS ay nagbibigay-daan sa iyo na gumamit ng ganap na mga query sa SQL upang pag-aralan ang naipon na data, na pinagsasama ang kadalian ng paggamit na likas sa mga relational na DBMS kasama ang scaling at mga kakayahan na likas sa mga espesyal na sistema ng NoSQL. Ang istraktura ng imbakan ay na-optimize upang matiyak ang mataas na bilis ng pagdaragdag ng data. Sinusuportahan nito ang batch na pagdaragdag ng mga set ng data, ang paggamit ng mga in-memory index, retroactive loading ng historical slices, at ang paggamit ng mga transaksyon.

Ang isang pangunahing tampok ng TimescaleDB ay ang suporta nito para sa awtomatikong paghahati ng array ng data. Ang stream ng input ng data ay awtomatikong ipinamamahagi sa mga naka-partition na talahanayan. Ang mga seksyon ay nilikha depende sa oras (bawat seksyon ay nag-iimbak ng data para sa isang tiyak na tagal ng panahon) o may kaugnayan sa isang arbitrary na key (halimbawa, identifier ng device, lokasyon, atbp.). Upang ma-optimize ang pagganap, ang mga naka-partition na talahanayan ay maaaring ipamahagi sa iba't ibang mga disk.

Para sa mga query, ang isang partitioned database ay mukhang isang malaking table na tinatawag na hypertable. Ang hypertable ay isang virtual na representasyon ng maraming indibidwal na mga talahanayan na nag-iipon ng papasok na data. Ang hypertable ay ginagamit hindi lamang para sa mga query at pagdaragdag ng data, kundi pati na rin para sa mga operasyon tulad ng paglikha ng mga index at pagbabago ng istraktura ("ALTER TABLE"), itinatago ang mababang antas na naka-segment na istraktura ng database mula sa developer. Sa isang hypertable, maaari mong gamitin ang anumang pinagsama-samang function, subquery, merge operations (JOIN) na may mga regular na table, at window function.

Pinagmulan: opennet.ru

Magdagdag ng komento