KDB+ database: mai tupe i le Fuafua 1

KDB+, oloa a le kamupani KX ose lauiloa lautele i li'o vaapiapi, matua vave, columnar database fuafuaina mo le teuina o faasologa taimi ma fa'atatauga fa'atatau i luga o latou. I le taimi muamua, sa (ma) sili ona lauiloa i pisinisi tau tupe - uma pito i luga 10 faletupe teu faʻafaigaluega ma le tele o faʻamaufaʻailoga lauiloa, fefaʻatauaʻiga ma isi faʻalapotopotoga faʻaaogaina. Talu ai nei, na filifili ai KX e faʻalautele lona faʻatauga faʻatau ma o loʻo ofoina atu nei fofo i isi vaega o loʻo i ai le tele o faʻamaumauga, faʻatulagaina i le taimi poʻo seisi - telecom, bioinformatics, gaosiga, ma isi. Na avea foi i latou ma paaga a le au a le Aston Martin Red Bull Racing i le Formula 1, lea latou te fesoasoani ai e aoina ma faʻagasolo faʻamaumauga mai masini taʻavale ma iloilo suʻega a le matagi. I lenei tusiga, ou te fia taʻu atu ia te oe mea o le KDB + e sili ona lelei, aisea e naunau ai kamupani e faʻaalu le tele o tupe i luga, ma mulimuli ane, aisea e le o se faʻamaumauga.
 
KDB+ database: mai tupe i le Fuafua 1
 
I lenei tusiga o le a ou taumafai e taʻu atu ia te oe i se tulaga lautele le KDB +, o le a le gafatia ma tapulaʻa o loʻo ia te ia, ma o a ona aoga mo kamupani o loʻo manaʻo e faʻatautaia le tele o faʻamaumauga. O le a ou le alu i faʻamatalaga o le faʻatinoga o KDB + poʻo faʻamatalaga o lana gagana polokalame Q. O nei autu uma e lua e matua lautele ma e tatau ona tuʻufaʻatasia tala. O le tele o faʻamatalaga e uiga i nei autu e mafai ona maua ile code.kx.com, e aofia ai se tusi ile Q - Q For Mortals (silasila i le sootaga i lalo).

O nisi faaupuga

  • I-memory database. O se faʻamaumauga e teu ai faʻamatalaga i le RAM mo le vave maua. O le lelei o sea faʻamaumauga e manino, ae o mea le lelei o le avanoa o le leiloa o faʻamaumauga ma le manaʻomia o le tele o manatuaga i luga o le 'auʻaunaga.
  • Columnar database. Ose fa'amaumauga e teu ai fa'amaumauga i koluma i lea koluma nai lo fa'amaumauga e ala i fa'amaumauga. O le aoga autu o sea faʻamaumauga o faʻamaumauga mai le tasi koluma o loʻo teuina faʻatasi i luga o le disk ma i le manatua, lea e faʻavavevaveina le avanoa i ai. E le mana'omia le utaina o koluma e le'o fa'aogaina ile fesili. O le fa'aletonu autu o le faigata ona fa'aleleia ma tape fa'amaumauga.
  • Fa'asologa o taimi. Fa'amatalaga ma se koluma o aso po'o le taimi. E masani lava, e taua le fa'atonuina o taimi mo ia fa'amaumauga, ina ia faigofie ona e iloa po'o fea fa'amaumauga e muamua pe mulimuli i le taimi nei, po'o le fa'aogaina o galuega e fa'atatau i le fa'asologa o fa'amaumauga. O faʻamaumauga masani e fausia i luga o se mataupu faavae e matua ese lava - e fai ma sui o le aoina o faʻamaumauga o se seti, lea o le faʻasologa o faʻamaumauga, i le mataupu faavae, e le o faʻamalamalamaina.
  • Vector. I le tulaga o le KDB +, o se lisi lea o elemene o le ituaiga atomic tutusa, mo se faʻataʻitaʻiga, numera. I se isi faaupuga, o se seti o elemene. O fa'asologa, e le pei o lisi, e mafai ona teuina fa'atasi ma fa'agaioiina e fa'aaoga ai fa'atonuga o fa'atonuga.

 

Talaaga Faasolopito

KX na faavaeina i le 1993 e Arthur Whitney, o le sa galue muamua i Morgan Stanley Bank i le gagana A +, o le sui o le APL - o se gagana muamua ma i se tasi taimi lauiloa i le lalolagi tau tupe. Ioe, i le KX, na faʻaauau pea Arthur i le agaga lava e tasi ma fatuina le gagana vector-functional K, taʻitaʻia e manatu o le radical minimalism. O polokalame K e foliga mai o se fa'afefiloi o fa'ailoga ma mataitusi fa'apitoa, o le uiga o fa'ailoga ma galuega e fa'alagolago i le tala, ma o fa'agaioiga ta'itasi e tele atu lona uiga nai lo gagana fa'apolokalame masani. Ona o lenei mea, o se polokalame K e itiiti se avanoa-o nai laina e mafai ona suitulaga itulau o tusitusiga i se gagana verbose pei o Java-ma o se faʻatinoga sili ona maualuga o le algorithm.
 
O se galuega i le K e faʻaaogaina le tele o le LL1 parser generator e tusa ai ma se kalama ua tuʻuina atu:

1. pp:{q:{(x;p3(),y)};r:$[-11=@x;$x;11=@x;q[`N;$*x];10=abs@@x;q[`N;x]  
2.   ($)~*x;(`P;p3 x 1);(1=#x)&11=@*x;pp[{(1#x;$[2=#x;;,:]1_x)}@*x]  
3.      (?)~*x;(`Q;pp[x 1]);(*)~*x;(`M;pp[x 1]);(+)~*x;(`MP;pp[x 1]);(!)~*x;(`Y;p3 x 1)  
4.      (2=#x)&(@x 1)in 100 101 107 7 -7h;($[(@x 1)in 100 101 107h;`Ff;`Fi];p3 x 1;pp[*x])  
5.      (|)~*x;`S,(pp'1_x);2=#x;`C,{@[@[x;-1+#x;{x,")"}];0;"(",]}({$[".s.C"~4#x;6_-2_x;x]}'pp'x);'`pp];  
6.   $[@r;r;($[1<#r;".s.";""],$*r),$[1<#r;"[",(";"/:1_r),"]";""]]}  

 Na faʻaalia e Arthur lenei filosofia o le sili ona lelei ma le itiiti ifo o gaioiga o le tino i le KDB +, lea na faʻaalia i le 2003 (Ou te manatu ua manino nei le mea e sau ai le mataitusi K i le igoa) ma e leai se mea e sili atu nai lo le faaliliu o le fa o le K. Gagana. Ua fa'aopoopoina se fa'aoga sili atu ona fa'aoga-tagata i luga o le K K ta'ua o le Q. Na fa'aopoopoina fo'i e Q le lagolago mo se gagana fa'apitoa o le SQL - QSQL, ma le fa'aliliuupu - lagolago mo laulau e avea o se ituaiga fa'amaumauga o faiga, meafaigaluega mo le galue ma laulau. i le manatua ma luga o le disk, ma isi.
 
Mai le va'aiga a le tagata fa'aoga, KDB+ e na'o se fa'aliliuga gagana Q fa'atasi ai ma le lagolago mo laulau ma fa'amatalaga fa'atusa LINQ mai le C#. O le eseesega sili lea ona taua i le va o KDB + ma isi faʻamaumauga ma lona faʻatauvaʻa autu, lea e masani ona le amanaiaina. E le'o se fa'amaumauga tu'ufa'atasi + gagana fesoasoani fa'aletonu, ae o se gagana fa'apolokalame mamana atoatoa + fau-i totonu lagolago mo galuega fa'amaumauga. O lenei fa'aeseesega o le a faia se sao taua i le lisiina uma o fa'amanuiaga a KDB+. Faataitaiga…
 

fua

I tulaga fa'aonaponei, KDB+ e na'o le microscopic le lapopoa. O le mea moni lava e tasi le faila faila sub-megabyte ma le faila faila laiti e tasi ma nisi o galuega. O le mea moni - itiiti ifo ma le tasi megabyte, ma mo lenei polokalame e totogi e kamupani le fiasefulu afe tala i le tausaga mo le tasi processor i luga o le server.

  • O lenei lapopoa e mafai ai e KDB+ ona lagona lelei i so'o se meafaigaluega - mai le Pi microcomputer i 'au'aunaga e iai terabytes manatua. E le afaina ai le gaioiga i soo se auala; e le gata i lea, Q amata vave, lea e mafai ai ona faʻaaogaina, faatasi ai ma isi mea, o se gagana tusitusi.
  • I lenei lapopoa, o le Q interpreter e fetaui atoatoa i totonu o le cache processor, lea e faʻavaveina ai le faʻatinoina o polokalame.
  • Faatasi ai ma lenei lapopoa o le faila faila, o le Q process e faʻaogaina le avanoa i le mafaufau; e mafai ona e faʻatautaia le faitau selau o latou. E le gata i lea, pe a manaʻomia, e mafai e Q ona galue i le sefulu poʻo le fiaselau o gigabytes o manatua i totonu o se faiga e tasi.

Faʻaaloalo

Q e lelei tele mo le tele o faʻaoga. Fa'agasologa Q e mafai ona galue o se fa'amaumauga fa'asolopito ma tu'uina vave avanoa i terabytes o fa'amatalaga. Mo se faʻataʻitaʻiga, e tele a matou faʻamaumauga faʻasolopito, i nisi o ia aso e tasi e le faʻapipiʻiina o faʻamaumauga e sili atu i le 100 gigabytes. Ae ui i lea, i lalo o tapula'a talafeagai, o le a fa'amae'aina se su'esu'ega ile fa'amaumauga ile fia sefulu i le selau o milliseconds. I se tulaga lautele, o loʻo i ai a matou taimi faʻapitoa mo talosaga a tagata faʻaoga - 30 sekone - ma e seasea galue.
 
Q e mafai lava ona faigofie ona avea ma faʻamaumauga i-memory. O fa'amatalaga fou e fa'aopoopoina i luga o laulau-memoria i le vave tele o talosaga a tagata e fa'atapula'aina. O faʻamatalaga i luga o laulau o loʻo teuina i koluma, o lona uiga o soʻo se gaioiga i luga o se koluma o le a faʻaogaina le faʻaogaina o le faʻaogaina i le malosi atoatoa. I le faʻaopoopoga i lenei mea, na taumafai KX e faʻatino galuega faʻavae uma e pei o le numera e ala i faʻatonuga vector o le gaioiga, faʻateleina lo latou saoasaoa. Q e mafai foi ona faia galuega e le masani ai mo faʻamaumauga - mo se faʻataʻitaʻiga, faʻagasolo faʻasalalauga faʻamaumauga ma fuafua i le "taimi moni" (faʻatasi ma le tuai mai le sefulu o milliseconds i ni nai sekone e faʻatatau i le galuega) eseese faʻapipiʻi galuega mo mea tau tupe mo taimi eseese vaeluaga poʻo le fausiaina o se faʻataʻitaʻiga o le aʻafiaga o fefaʻatauaiga atoatoa i le maketi ma faʻatinoina lona faʻamatalaga toetoe lava a maeʻa. I ia galuega, o le tele o taimi o le tuai o le taimi e le o Q, ae o le manaʻoga e faʻamaopoopo faʻamaumauga mai punaoa eseese. O le saoasaoa maualuga e maua ona o le mea moni o faʻamaumauga ma galuega e faʻatautaia ai i latou o loʻo i totonu o le tasi gaioiga, ma faʻaitiitia le gaioiga i le faʻatinoina o le tele o faʻamatalaga QSQL ma faʻatasi, e le o faʻamatalaina, ae o loʻo faʻatinoina e le code binary.
 
Ma le mea mulimuli, e mafai ona e tusia soʻo se faiga tautua ile Q. Mo se faʻataʻitaʻiga, Gateway faʻagasologa e otometi le tufatufaina atu o talosaga a tagata faʻaoga i faʻamaumauga talafeagai ma sapalai. E i ai i le tagata fai polokalame le sa'olotoga atoatoa e fa'atino ai so'o se algorithm mo le paleni, fa'amuamua, fa'apalepale fa'aletonu, aia tatau, quotas ma so'o se mea lava e mana'o i ai lona loto. O le fa'afitauli autu iinei e tatau ona e fa'atinoina uma nei mea e oe.
 
Mo se faʻataʻitaʻiga, o le a ou lisiina ituaiga o faiga o loʻo ia i tatou. O i latou uma o loʻo faʻaaogaina ma galulue faʻatasi, tuʻufaʻatasia le tele o faʻamaumauga eseese i le tasi, faʻagaioiina faʻamaumauga mai le tele o punaoa ma tautua le faitau selau o tagata faʻaoga ma talosaga.

  • Feso'ota'i (feedhandler) i fa'amaumauga. O nei faiga e masani ona faʻaogaina faletusi fafo o loʻo faʻapipiʻiina i le Q. O le C interface i le Q e matua faigofie lava ma faʻatagaina oe e faigofie ona fai galuega sui mo soʻo se faletusi C/C++. Q e vave lava ona taulimaina, mo se faʻataʻitaʻiga, faʻagaioiina le lolovaia o feʻau FIX mai fefaʻatauaiga uma a Europa i le taimi e tasi.
  • Fa'asoa fa'amaumauga (tickerplant), lea e fai ma feso'ota'iga vavalalata i le va o feso'ota'iga ma tagata fa'atau. I le taimi lava e tasi, latou te tusia faʻamatalaga o loʻo oʻo mai i se faʻamaumauga faʻapitoa faʻapitoa, e maua ai le malosi mo tagata faʻatau e faasaga i fesoʻotaʻiga gau pe toe amata.
  • I-memory database (rdb). O nei fa'amaumauga e maua ai le avanoa sili ona vave e maua ai fa'amatalaga fou e ala i le teuina i le manatua. E masani lava, latou te fa'aputuina fa'amaumauga i laulau i le ao ma toe fa'afo'i i le po.
  • Tumau fa'amaumauga (pdb). O nei fa'amaumauga e fa'amautinoaina o fa'amaumauga mo aso nei o lo'o teuina i totonu o se fa'amaumauga fa'asolopito. I le avea ai o se tulafono, e le pei o le rdb, latou te le teuina faʻamatalaga i le mafaufau, ae faʻaaoga se faʻaoga faʻapitoa i luga o le disk i le ao ma kopi faʻamaumauga i le vaeluapo i le faʻamaumauga faʻasolopito.
  • Fa'amaumauga fa'asolopito (hdb). O nei fa'amaumauga e maua ai avanoa i fa'amaumauga mo aso, masina ma tausaga ua mavae. O lo latou tele (i aso) e fa'atapula'aina i le tele o ta'avale malo. E mafai ona maua faʻamatalaga i soʻo se mea, aemaise i luga o tisiki eseese e faʻavave ai le avanoa. E mafai ona faʻapipiʻi faʻamaumauga e faʻaaoga ai le tele o algorithms e filifili mai ai. O le faʻatulagaina o faʻamaumauga o loʻo faʻamaonia lelei ma faigofie, o faʻamaumauga o loʻo teuina koluma i koluma i faila masani, ina ia mafai ona faʻatautaia, e aofia ai le faiga o le faʻaogaina.
  • Fa'amaumauga ma fa'amatalaga tu'ufa'atasi. Latou te teuina fa'apotopotoga eseese, e masani lava ma, fa'apipi'i i le igoa meafaifa'aili ma le taimi. O fa'amaumauga i totonu o manatuaga e fa'afou lo latou tulaga i fe'au ta'itasi e o'o mai, ma fa'amaumauga fa'asolopito o lo'o teuina fa'amaumauga muamua e fa'avave ai le avanoa i fa'amaumauga fa'asolopito.
  • Mulimuli faiga faitotoatautuaina talosaga ma tagata fa'aoga. Q faʻatagaina oe e faʻatinoina le faʻaogaina atoatoa o feʻau o loʻo oʻo mai, tufatufaina atu i luga o faʻamaumauga, siaki aia tatau, ma isi. Manatua o feʻau e le faʻatapulaʻaina ma e masani lava e le o ni faʻamatalaga SQL, e pei o le tulaga i isi faʻamaumauga. O le tele o taimi, o le faʻamatalaga SQL o loʻo natia i se galuega faʻapitoa ma fausia e faʻavae i luga o mea e manaʻomia e le tagata faʻaoga - o le taimi e liua, faʻamamāina, faʻamaumauga masani (mo se faʻataʻitaʻiga, o le tau faʻatau e tutusa pe a totogi tufatufaga), ma isi.

Fa'asologa masani mo le tasi ituaiga fa'amaumauga:

KDB+ database: mai tupe i le Fuafua 1

Televave

E ui o le Q o se gagana fa'aliliuina, ae o se gagana ve'a. O lona uiga o le tele o galuega faʻapipiʻi, aemaise lava numera, e faia finauga o soʻo se ituaiga - numera, vectors, matrices, lisi - ma o le polokalame e faʻamoemoe e faʻatino le polokalame e pei o faʻasologa o galuega. I sea gagana, afai e te faʻaopoopoina ni vectors se lua o le miliona elemene, e le toe taua le faʻamatalaina o le gagana; o le faʻaopoopoga o le a faia e se galuega binary super-optimized. Talu ai ona o le leona o le taimi i polokalame Q e faʻaalu i luga o faʻagaioiga ma laulau e faʻaogaina nei galuega faʻavae vectorized, o le gaioiga o se saoasaoa lelei tele, e mafai ai ona tatou faʻagasolo le tele o faʻamaumauga e oʻo lava ile tasi gaioiga. E talitutusa lea ma faletusi numera i le Python - e ui lava o le Python lava ia o se gagana telegese, e tele faletusi sili ona lelei e pei o numpy e mafai ai ona e faʻaogaina faʻamaumauga numera i le saoasaoa o se gagana tuʻufaʻatasia (i le ala, numpy e latalata ile Q. ).
 
E le gata i lea, na faia e KX se auala faʻaeteete i le mamanuina o laulau ma faʻamalieina galuega faʻatasi ma i latou. Muamua, e tele ituaiga o faʻasinomaga e lagolagoina, lea e lagolagoina e galuega faʻapipiʻi ma e mafai ona faʻaogaina e le gata i koluma laulau, ae faʻapea foʻi i soʻo se vectors - faʻavasegaina, faʻavasegaina, uiga faʻapitoa ma faʻavasegaga faʻapitoa mo faʻamaumauga faʻasolopito. O le fa'asino igoa e fa'aoga faigofie ma e otometi lava ona fetuunai pe a fa'aopoopo elemene ile koluma/vector. E mafai lava ona fa'aoga lelei fa'asino igoa i koluma laulau i le manatua ma luga ole tisiki. Pe a fa'atino se fesili QSQL, fa'asino igoa e fa'aaogaina otometi pe a mafai. Lona lua, galue ma fa'amaumauga fa'asolopito e faia e ala i le masini mo le fa'aalia o faila OS (fa'afanua manatua). O laulau tetele e le mafai ona utaina i le mafaufau; nai lo lena, o koluma talafeagai e faʻapipiʻi saʻo i le mafaufau ma naʻo le vaega lena o loʻo faʻapipiʻiina moni (e fesoasoani foi faasino igoa iinei) e manaʻomia. E leai se eseesega i le polokalame pe o faʻamaumauga o loʻo manatua pe leai; o le masini mo le galue ma mmap o loʻo natia atoa i le loloto o le Q.
 
KDB+ e le ose fa'amaumauga feso'ota'iga; o laulau e mafai ona i ai fa'amatalaga fa'apitoa, ae o le fa'asologa o laina i le laulau e le suia pe a fa'aopoopo elemene fou ma e mafai ma e tatau ona fa'aoga pe a tusia fesili. O lenei vaega e manaʻomia faʻanatinati mo le galue i taimi faʻasologa (faʻamatalaga mai fefaʻatauaiga, telemetry, faʻamaumauga o mea tutupu), aua afai e faʻavasega faʻamaumauga i le taimi, ona le manaʻomia lea e le tagata faʻaoga le faʻaogaina o togafiti SQL e suʻe ai le laina muamua poʻo le laina mulimuli poʻo N. laina i le laulau, fuafua po o le fea laina e mulimuli i le Nth laina, ma isi. O le faʻapipiʻiina o laulau e faʻafaigofie atili, mo se faʻataʻitaʻiga, o le mauaina o le upusii mulimuli mo le 16000 VOD.L (Vodafone) fefaʻatauaiga i se laulau o 500 miliona elemene e tusa ma le sekone i luga o le disk ma le sefulu o milliseconds i le manatua.
 
O se faʻataʻitaʻiga o se taimi faʻatasi - o le laulau o upusii o loʻo faʻapipiʻiina i le mafaufau, o lea e leai se manaʻoga e faʻamaonia VOD.L i le mea, o le faʻasino i luga o le koluma faʻatusa ma le mea moni o faʻamaumauga e faʻavasegaina i le taimi o loʻo faʻaaogaina faʻapitoa. Toeitiiti lava o fa'atasi uma i le Q o galuega masani, e le o se vaega o se fa'aaliga filifilia:

1. aj[`sym`time;select from trade where date=2019.03.26, sym=`VOD.L;select from quote where date=2019.03.26]  

Ma le mea mulimuli, e taua le matauina o inisinia i KX, amata mai ia Arthur Whitney lava ia, e matua'i mata'utia i le lelei ma alu i le umi e maua ai le tele o uiga masani a le Q ma fa'amalieina fa'aoga masani masani.
 

Le iʻuga

KDB+ e ta'uta'ua i pisinisi ona o lona fa'apitoa fa'apitoa - e tutusa lelei ma se fa'amaumauga i totonu o manatuaga, o se fa'amaumauga mo le teuina o terabytes o fa'amaumauga fa'asolopito, ma o se fa'avae mo su'esu'ega fa'amaumauga. Ona o le mea moni o faʻamaumauga o faʻamaumauga e tupu saʻo i totonu o faʻamaumauga, o le maualuga o le saoasaoa o galuega ma le faʻasaoina o punaoa e ausia. O se gagana fa'apolokalame atoa ua tu'ufa'atasia ma fa'amaumauga tu'ufa'atasiga e mafai ai ona e fa'atinoina le fa'aputuga atoa o faiga talafeagai i luga o le fa'avae e tasi - mai le mauaina o fa'amaumauga i le fa'agaioiina o talosaga a tagata.
 

Faamatalaga faaopoopo

vaivaiga

O se fa'aletonu taua ole KDB+/Q ole maualuga ole fa'aulufale. O le gagana ei ai se syntax uiga ese, o nisi o galuega e mamafa tele (taua, mo se faʻataʻitaʻiga, e tusa ma le 11 faʻaoga mataupu). O le mea pito sili ona taua, e manaʻomia ai se auala e matua ese lava i le tusiaina o polokalame. I se gagana Vector, e tatau ona e mafaufau i taimi uma i tulaga o le suiga o le laina, faʻatino faʻamau uma e ala i le tele o fesuiaiga o le faʻafanua / faʻaititia galuega (lea e taʻua o faʻamatalaga i le Q), ma aua neʻi taumafai e teu tupe e ala i le suia o gaioiga faʻaogaina i mea atomic. Mo se faʻataʻitaʻiga, e suʻe le faʻasinomaga o le Nth tupu mai o se elemene i se laina, e tatau ona e tusia:

1. (where element=vector)[N]  

e ui lava e foliga mai e matua le lelei lava i tulaga C/Java (= fatuina ai se vector boolean, lea e toe faafoi mai ai le faasinoupu moni o elemene i totonu). Ae o lenei faʻamatalaga e faʻamalamalama atili ai le uiga o le faʻamatalaga ma e te faʻaogaina gaioiga faʻavavevave nai lo le faʻagesegese o le atomic. O le eseesega o manatu i le va o le gagana vector ma isi e faʻatusatusa i le eseesega i le va o le taua ma le faʻaogaina o auala i polokalame, ma e tatau ona e saunia mo lenei mea.
 
O nisi tagata faʻaoga e le fiafia foi i le QSQL. O le manatu e naʻo foliga mai o le SQL moni. O le mea moni, ua na'o se fa'aliliuupu o fa'amatalaga e pei o SQL e le lagolagoina le fa'avasegaina o fesili. E tatau i le tagata faʻaoga ona tusia ni fesili sili ona lelei, ma i le Q, lea e toʻatele e le o sauni. I le isi itu, ioe, e mafai ona e tusia i taimi uma le fesili sili ona lelei oe lava, nai lo le faʻalagolago i se pusa uliuli optimizer.
 
O se fa'aopoopoga, o se tusi ile Q - Q For Mortals e maua fua ile upegatafa'ilagi a le kamupani, o loʻo iai foʻi le tele o isi mea aoga o loʻo aoina iina.
 
O le isi fa'aletonu tele o le tau o le laisene. O le sefulu afe tala lena i le tausaga ile CPU. E na o kamupani tetele e mafai ona gafatia ia tupe faaalu. Talu ai nei, ua faia e KX lana faiga faʻavae laiseneina sili atu ona fetuutuunai ma maua ai le avanoa e totogi ai naʻo le taimi o le faʻaoga poʻo le lisiina KDB + i Google ma Amazon ao. KX ofo atu foi mo le download fua fua mo fa'amoemoega fa'apisinisi (32 bit version poʻo 64 bit i luga ole talosaga).
 

Tagata tauva

O lo'o i ai ni nai fa'amaumauga fa'apitoa e fausia i luga o ta'iala tutusa - columnar, in-memory, fa'atatau i le tele o fa'amaumauga. O le fa'afitauli o nei fa'amaumauga fa'apitoa. O se faʻataʻitaʻiga mataʻina o le Clickhouse. O lenei fa'amaumauga o lo'o i ai se mataupu fa'atusa tutusa ma le KDB+ mo le teuina o fa'amaumauga i luga o le tisiki ma le fausiaina o se fa'asinomaga; e fa'atino ai nisi fa'amatalaga vave nai lo le KDB+, e ui lava e le taua tele. Ae tusa lava pe o se faʻamaumauga, Clickhouse e sili atu le faʻapitoa nai lo KDB + - web analytics vs arbitrary time series (o lenei eseesega e taua tele - ona o lea, mo se faʻataʻitaʻiga, i le Clickhouse e le mafai ona faʻaogaina le faʻatonuina o faʻamaumauga). Ae, o le mea pito sili ona taua, Clickhouse e le o iai le agavaʻa o KDB +, o se gagana e mafai ai ona faʻaogaina faʻamaumauga saʻo i totonu o faʻamaumauga, nai lo le utaina muamua i totonu o se isi talosaga, fausiaina o faʻamatalaga SQL faʻapitoa, faʻaaogaina galuega faʻapitoa i se fesili, fatuina o faiga. e le feso'ota'i ma le fa'atinoina o galuega fa'amaumauga fa'asolopito. O le mea lea, e faigata ona faʻatusatusa KDB + ma isi faʻamaumauga; atonu e sili atu i latou i nisi faʻaoga faʻaoga pe sili atu foi pe a oʻo mai i galuega masani faʻamaumauga, ae ou te le iloa se isi meafaigaluega e tutusa lelei ma faʻaogaina mo le gaosiga o faʻamaumauga le tumau.
 

Python fa'atasi

Ina ia fa'afaigofie ona fa'aoga KDB+ mo tagata e le masani i tekinolosi, na fausia ai e KX faletusi e tu'ufa'atasia ma le Python i totonu o se faiga e tasi. E mafai ona e vala'au so'o se galuega Python mai le Q, po'o le isi itu - vala'au so'o se galuega Q mai le Python (aemaise, fa'aaliga QSQL). Lisi faletusi, pe a mana'omia (e le o taimi uma mo le lelei), fa'amaumauga mai le faatulagaga o le tasi gagana i le faatulagaga o le isi. O se taunuuga, Q ma Python o loʻo ola i se faʻataʻitaʻiga vavalalata e faʻafefe ai tuaoi i lo latou va. O le iʻuga, o le tagata fai polokalame, i le tasi itu, e maua uma le avanoa i le tele o faletusi aoga Python, i le isi itu, na te mauaina se faʻavae vave mo le galue ma faʻamatalaga tetele ua tuʻufaʻatasia i le Python, lea e sili ona aoga mo i latou o loʻo aʻafia i aʻoaʻoga masini. po'o fa'ata'ita'iga.
 
Galulue ma Q i le Python:

1. >>> q()  
2.q)trade:([]date:();sym:();qty:())  
3. q)  
4. >>> q.insert('trade', (date(2006,10,6), 'IBM', 200))  
5. k(',0')  
6. >>> q.insert('trade', (date(2006,10,6), 'MSFT', 100))  
7. k(',1')  

mau

Le nofoaga o le kamupani - https://kx.com/
Upega tafa'ilagi mo tagata atia'e - https://code.kx.com/v2/
Tusi Q Mo Tagata Fanau (i le Igilisi) - https://code.kx.com/q4m3/
Tala ile KDB+/Q talosaga mai tagata faigaluega kx - https://code.kx.com/v2/wp/

puna: www.habr.com

Faaopoopo i ai se faamatalaga