Clusterpoint 4.0 – kas jauns un kas sekos

Clusterpoint 4Pirms nedēļas tika publiskots Clusterpoint 4.0. Nolēmu, ka arī man par to ir jāuzraksta pie sevis, jo nekur citur latviešu valodā par Clusterpoint īsti neraksta (ja raksta, neesmu manījis). Bet, tā kā tas ir Latvijas produkts, turklāt mani interesējošā nišā, tad tā vien nagi niez kaut kādu monologu pierakstīt. Pirms lasīt tālāk, vari ieskatīties oficiālajā preses relīzē, kā arī viņu bloga ierakstā.

Ar ko 4.0 versija ir ievērojama? Ja atmetam malā mārketinga materiālus, tad es varu izcelt dažas ļoti nozīmīgas lietas:

  • Beidzot ir ieviests JSON un XML atbalsts zemākajā līmenī. Vēsturiski Clusterpoint visu darīja ar XML. Laiks gāja un cilvēki sāka pieprasīt JSON. Parādījās arī tā atbalsts, taču ne pilnvērtīgs. Proti – DB līmenī JSON tika konvertēts uz XML. Un, kad dati tika pieprasīti, tie tika konvertēti atpakaļ no XML uz JSON. Tas radīja vairākas problēmas. Ar 4.0 versiju tas nu ir atrisināts.
  • Ieviesta JS/SQL pieprasījumu valoda. Ja līdz šim visus datu atlases pieprasījumus vajadzēja rakstīt XML formātā, tad tagad to var darīt ar JS/SQL. Jaunā pieprasījumu valoda ļoti atgādina daudziem pierasto SQL pieprasījumu sintaksi, kura papildināta ar JavaScript funkcijām. Piemērs no dokumentācijas:
    SELECT * FROM product WHERE name.split(" ").length < 4 && price * discount > 35.0
    Es neesmu paspējis tā kārtīgi pārbaudīt, cik īsti spēcīgs ir JS/SQL un cik ātri notiek JS funkciju izmantošana. Pieļauju, ka, ja visur smuki iesaistās indeksi, tad lietas varētu būt ātras. Bet, tiklīdz izlīdīsi ārpus indeksiem, varētu būt problēmas. Tā īsti arī nevar saprast, kā šādas lietas sadraudzēsies ar uzbrukumiem. Piemēram, kārtīgā SQL pasaulē mēs esam iemācījušies izmantot prepared statements datu nodošanai, tādā veidā izvairoties no SQL injekcijām. Šeit nekādus prepared statementus pagaidām neesmu redzējis, jo bibliotēkas Clusterpoint 4.0 izmantošanai no citām valodām vēl neeksistē. Būs interesanti papētīt, ko JS/SQL nozīmē drošības jomā.
  • JS/SQL nāk komplektā arī ar iespēju pašam izveidot savas funkcijas, kuras tālāk izmantot pieprasījumos. Atgādina storētās procedūras utml. Varētu būt visai noderīgi, lai transformētu datus. Bet, tā kā neesmu izmēģinājis, tad grūti pateikt, kā tas strādā. Skaties dokumentācijā pie Functions.

Kas sekos? Es 4.0 tomēr uztveru kā ieskatu tam, kas mūs sagaida nākotnē. Tas tādēļ, ka vairākas lietas vēl ir izstrādē un būs pieejamas tikai 4.1 versijā. Piemēram:

  • Join. Izskatās interesanti un nav īpaši izplatīti NoSQL pasaulē. Tiesa gan – MongoDB 3.2 Enterprise versijā arī būs pirmā iterācija Join atbalstam.
  • Šobrīd vienīgais veids, kā no savām aplikācijām izmantot 4.0, ir to darīt ar REST API. Tas nav ērti. Būs jāgaida līdz 4.1 versijai, lai tiktu pie pilnvērtīgām bibliotēkām.
  • Ja tu gribi lejupielādēt Clusterpoint izmantošanai uz sava servera, tad nāksies gaidīt 4.1. Jaunākā lejupielādējamā Clusterpoint versija ir 2.3, kura nu jau ir stipri novecojusi. Tajā pat nav transakciju atbalsta. Te gan ir jāsaka, ka es šaubos, ka uz 4.1 sagaidīsim kārtīgu lejupielādējamo versiju. Pieļauju, ka būs jāgaida ilgāk. Taču tas būs tā vērts. Detaļas gan šobrīd atklāt nevaru, bet varu pateikt, ka lejupielādejamā versija nekur nepazudīs un koncepcija būs pievilcīgāka, kā tā ir tagad.

Kopumā malači. Ir kustība pareizajā virzienā. Vienīgi 4.0 nevajag uztvert kā 4.0, bet “preview” versiju. Īstā 4.0 manās acīs būs 4.1, ja tajā būs tas, kas solīts.

Daži reizēm aizmirst, tāpēc: https://endijs.com publicētās informācijas pārpublicēšana bez saskaņošanas ar autoru ir aizliegta. Lūgums respektēt autora/autoru tiesības. Paldies!

1 comment

Atbildēt

Jūsu e-pasta adrese netiks publicēta.

This site uses Akismet to reduce spam. Learn how your comment data is processed.