Yandex ááẠSQL áá±áááá áá¬ážááŸáá·áº ACID ááœá±áá±ážááœá±áá°áá»á¬ážá¡ááœáẠáá¶á·ááá¯ážáá±ážááá·áº ááŒáá·áºáá±áá¬ážáá±á¬ DBMS YDB á á¡áááºážá¡ááŒá áºáá¯ááºááᯠáá¯ááºáá±áá²á·áááºá DBMS ááᯠá¡á á០áááºáá®ážáá²á·ááŒá®áž á¡ááŸá¬ážá¡ááœááºážáá¶ááá¯ááºáááºááŸáá á±áááºá áá»ááŸá¯á¶ážááŸá¯áá»á¬ážá០á¡ááá¯á¡áá»á±á¬áẠááŒááºáááºááá°áááºááŸáá·áº áá»á²á·ááœááºááá¯ááºá á±áááºá¡ááœáẠáááŠážááœáẠáá®ááœááºáá²á·ááŒááºážááŒá áºáááºá Yandex ááẠnode 10 áá»á±á¬áºá¡áá«á¡ááẠá¡áá¯ááºáá¯ááºáá±á¬ YDB á¡á á¯á¡áá±ážáá»á¬ážááᯠá áááºáá²á·ááŒá®áž áá±áá¬áá¬áá±á«ááºážáá»á¬ážá áœá¬ petabytes áá»á¬ážááᯠááááºážáááºážáᬠáá áºá áá¹ááá·áºáá»áŸáẠáááºážááŸáá·áºáá»á®áá±á¬ ááŒáá·áºáá±áá±ážááœá±áá»á¬ážááᯠáá±á¬ááºááœááºáá±ážáá²á·ááŒá±á¬ááºáž ááŸááºáá¬ážááá«áááºá YDB ááᯠMarketá Cloudá Smart Homeá Aliceá Metrica ááŸáá·áº Auto.ru áá²á·ááá¯á·áá±á¬ Yandex ááá±á¬áá»ááºáá»á¬ážááœáẠá¡áá¯á¶ážááŒá¯áááºá áá¯ááºááᯠC/C++ ááŒáá·áºáá±ážáá¬ážáá¬ážááŒá®áž Apache 2.0 ááá¯ááºá ááºá¡á±á¬ááºááœáẠááŒáá·áºáá±áá¬ážáááºá áááºážááŸá®ážáá»áœááºážáááºááŸá¯ááŸáá·áº á¡ááŒááºá áááºáááºá¡ááœááºá á¡ááá·áºáá¯áẠDocker ááœááºááááºáá¬ááᯠáááºáá¯á¶ážááá¯ááºáááºá
ááá±á¬áá»ááºá¡ááºá¹áá«áááºáá»á¬áž-
- ááá¬ážáá»á¬ážááŒáá·áº áááºá
ááºáá±áá¬áá±á¬áºáááºááᯠá¡áá¯á¶ážááŒá¯ááŒááºážá á
á¯á¶á
ááºážáá±ážááŒááºážááŸá¯áá»á¬ážááŸáá·áº áá±áá¬á¡á
á®á¡á
ááºááᯠáááºááŸááºááŒááºážá¡ááœááºá ááŒá®ážáá¬ážáá±á¬ááŒáá·áºáá±áá¬ážáá±á¬áá±áá¬áá±á·á
áºáá»á¬ážááŸáá·áºá¡áá¯ááºáá¯ááºáááºá¡ááœáẠááá¯ááºáá»á±á¬áá®ááœá±ááŒá
áºáá±á¬ SQL áá¬áá¬á
áá¬áž (YDB Query Language) ááᯠá¡áá¯á¶ážááŒá¯áááºá ááá¯ááŸá±á¬ááºááŸá¯áá¯á¶á
á¶áá
áºáá¯ááᯠáááºáá®ážááá·áºá¡áá«á ááá¯ááºá
áá
áºááŸá áááºážááœáŸááºáá»á¬ážááᯠá¡ááŸááºáá
á±ááá·áº ááá¬ážáá»á¬ážáá²á·ááá¯á· á¡á¯ááºá
á¯ááœá²á·ááŒááºážááᯠáá¶á·ááá¯ážáá¬ážáááºá JSON áá±á¬áºáááºááœáẠáá±áá¬ááŸáá·áº áá¯ááºáá±á¬ááºáááºá¡ááœáẠAPI áá
áºáá¯á¡á¬áž áá¶á·ááá¯ážáá¬ážáááºá
- áá±áá¬áá±á·á áºáá±á«áºááŸá ááœá²ááŒááºážá áááºááŒá¬ááŸá¯ááá¯ááºáᬠad-hoc áá±ážááŒááºážááŸá¯áá»á¬ážááᯠáá¯ááºáá±á¬ááºááẠáá®ááá¯ááºážáá¯ááºáá¬ážááá·áº á áááºááºáá±ážááœááºážáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á áá±áá¬áááºáá±á¬ááºááœáá·áºá¡ááœáẠáá¶á·ááá¯ážááŸá¯á áááºááŸá¯áááºáá¬áá¯ááºááœáẠáá¯ááºáá±á¬ááºááŒá®áž grpc áá¯ááºááœáŸáá·áºááŸá¯ááᯠááŒááºáá±ážáááºá
- DBMS ááŸáá·áº á¡ááŒááºá¡ááŸáẠáá¯á¶á·ááŒááºááŒááºážááŸáá·áº áá±á¬ááºážááá¯áá»ááºáá»á¬áž áá±ážááá¯á·ááŒááºážááá¯á·ááᯠC++á C# (.NET)á Goá Javaá Node.jsá PHP ááŸáá·áº Python á¡ááœáẠá á¬ááŒáá·áºááá¯ááºáá»á¬áž áá¶á·ááá¯ážáá±ážááá·áº áááºáááºáá¬ážáá±á¬ áááºá¡ááºáá¬áá±á·á Ạááá¯á·ááá¯áẠYDB SDK ááᯠá¡áá¯á¶ážááŒá¯á áá¯ááºáá±á¬ááºáááºá
- áá áºáá¯áá»ááºáž disksá nodesá racks ááŸáá·áº data center áá»á¬ážááẠáá»ááºááœá¬ážáá±á¬á¡áá«ááœáẠá¡ááŸá¬ážá¡ááœááºážáá¶ááá¯ááºáá±á¬ configuration áá»á¬ážááᯠáááºáá®ážááá¯ááºá áœááºážááŸááááºá YDB ááẠáá¯ááºáá¯á¶ážáá¯ááœáẠááŒáá·áºáá»ááºááŒááºážááŸáá·áº áá áºááŒáá¯ááºáááºážáá¯á¶áá°ááœá¬ážááŒááºážááᯠáá¶á·ááá¯ážáá±ážáááºá áá¯ááºáá áºáá¯ááá»ááºááœááºááŸá¯ááœáẠá¡á á¯á¡ááœá²á·ááá¯ááºáá±á¬ááºááá¯ááºá áœááºážááᯠááááºážááááºážáá¬ážáááºá
- á¡ááá®áá±ážááŸááºážáá»á¬ážá¡ááœáẠlatency á¡áááºážáá¯á¶ážááŒáá·áº áá»ááºááœááºááŸá¯áá»á¬ážá០á¡ááá¯á¡áá»á±á¬áẠááŒááºáááºááá°ááŒá®áž áááºááŸááºáá¬ážáá±á¬ áá±áᬠáááºáá±ááŸá¯ááᯠá¡ááá¯á¡áá»á±á¬áẠááááºážááááºážáá«á
- áááºááá±á¬á·ááá¯á¡ááŒá±áá¶á á¡ááœáŸááºážáá»á¬ážááᯠá¡ááá¯á¡áá»á±á¬ááºáááºáá®ážááŒááºážááŸáá·áº áááá¬ážáá±á¬áá±á¬áºáá¶áá»á¬ážááá¯á·áááºáá±á¬ááºááŒááºážááááá±á¬ááºááŸá¯ááá¯ážáááºá á±ááẠá¡áááºáááºážá¡ááœáŸááºážáá»á¬ážááá¯áááºááŸááºááá¯ááºááŸá¯á áœááºážáááºá
- á¡áá»á¬ážááá¯áẠáá¯ááºááá¯ááºááŸá¯á ááááºážáááºážáá¬ážááá·áº áá±áá¬áá»á¬ážá áááºááŸáá·áº á¡ááœááºá¡á á¬áž ááŒá®ážááœá¬ážáá¬áááºááŸáá·áºá¡áá»áŸ node á¡áá áºáá»á¬ážááᯠáá»áááºáááºáá¯á¶ááŒáá·áº á¡á á¯á¡áá±ážááᯠááá¯ážáá»á²á·ááá¯ááºáááºá ááœááºááŒá°áá¬ááŸáá·áº ááá¯ááŸá±á¬ááºááŸá¯á¡ááá·áºáá»á¬ážááᯠááœá²ááŒá¬ážáá¬ážááŒá®áž áááºáááœááºáá»á°áá¬áá«áá«ááŸáá·áº ááá¯ááŸá±á¬ááºááŸá¯á¡ááœááºá¡á á¬ážááᯠáá®ážááŒá¬ážá á® áá»á²á·ááœááºááá¯ááºá á±áááºááŒá áºáááºá DBMS ááá¯ááºááá¯ááºá áááŸáááá¯ááºáá±á¬ áá¬á·ááºáá²á¡áááºážá¡ááŒá áºáá»á¬ážááᯠááá·áºááœááºážá ááºážá á¬ážáᬠáá±áá¬ááŒáá·áºááŒá°ážááŸá¯ááŸáá·áº áááºááᯠáá áºááŒá±ážáá®á á±á¬áá·áºááŒáá·áºáááºá ááá¹áá¬á·áá±áᬠá¡ááŸá¶á·á¡ááŒá¬ážááŸá áá±áá¬á ááºáá¬áá»á¬ážá áœá¬ááᯠááœáŸááºážááŒá¯á¶áá¬ážáá±á¬ áááá®áááºá¡áá±á¡áá¬ážá¡á ááŒáá·áºáá±áá¬ážáá±á¬ ááœá²á·á ááºážááŸá¯áá¯á¶á á¶áá»á¬ážááᯠá¡áá¯á¶ážáá»ááẠááŒá áºááá¯ááºáááºá
- node áá»á¬ážááŸáá·áº table á¡áá»á¬ážá¡ááŒá¬ážááᯠáá»á²á·ááœááºááá·áº queries áá»á¬ážááᯠáá¯ááºáá±á¬ááºááá·áºá¡áá« ááá¯ááºáá¬áá±á¬ááá¯ááºáá®ááŸá¯áá¯á¶á á¶ááŸáá·áº ACID á¡áá±á¬ááºážá¡áááºáá»á¬ážááᯠáá¶á·ááá¯ážáá±ážáá«áááºá á áœááºážáá±á¬ááºááẠááŒáŸáá·áºáááºáááºá áá áºááááºáááºáž á á áºáá±ážááŒááºážááᯠáááºááœá±ážáá»ááºááááºááá¯ááºáááºá
- á¡ááœááºá¡á á¬áž ááá¯á·ááá¯áẠáááºááá¯ážáá¬ááá·áºá¡áá« á¡ááá¯á¡áá»á±á¬áẠáá±áá¬áá¯á¶áá°ááœá¬ážááŒááºážá á¡ááá¯á¡áá»á±á¬áẠá¡ááá¯ááºážááœá²ááŒááºáž (á¡ááá¯ááºážááœá²ááŒááºážá ááœá²áá¯ááºááŒááºáž)á ááŸáá·áº node áá»á¬ážá¡ááŒá¬áž á¡ááá¯á¡áá»á±á¬áẠáááºááŸáá·áº áá±áá¬áá»áááºááœááºáá»áŸá¬ áá»áááºááŸáááŒááºážá
- áá°áááºáž PDisk á¡á áááºá¡ááá¯ááºážááŸáá·áº VDisk á¡ááœáŸá¬ááᯠá¡áá¯á¶ážááŒá¯á ááááºááá¯á·áá¬ážáá±á¬ á ááºáá á¹á ááºážáá»á¬ážááœáẠáá±áá¬ááᯠááá¯ááºááá¯ááºááááºážáááºážááŒááºážá DSProxy ááẠááŒá¿áá¬áá»á¬ážááœá±á·ááŸááá«á áááºážááá¯á·ááá¯áááºááŸá¬ážáááºá¡ááœáẠdisks áá»á¬ážááááŸáááá¯ááºááŸá¯ááŸáá·áºá áœááºážáá±á¬ááºáááºááá¹ááá¬áá»á¬ážááá¯ááœá²ááŒááºážá áááºááŒá¬ááá·áº VDisk áááááºááœááºá¡áá¯ááºáá¯ááºáááºá
- virtual block áááááá¬áá»á¬ážááŸáá·áº á¡ááŒá²áááŒááºáááºážá á®ááŒááºážá¡áá«á¡ááẠYDB áááááºááœáẠáááºáá±á¬ááºááŸá¯á¡áá»áá¯ážáá»áá¯ážááᯠáááºáá®ážááá¯ááºá á±ááá·áº ááœá±ážááœáŸááºááá¯ááºáá±á¬ áááá¯áá¬ááá¬á ááœá²ááŒá¬ážáá±á¬á¡áá¯ááºááá¬áá OLTP ááŸáá·áº OLAP (ááœá²ááŒááºážá áááºááŒá¬áá±ážááŒááºážáá»ááºáá»á¬áž) á¡ááœáẠááá·áºáá»á±á¬áºááŸá¯á
- á¡áá»á¬ážá¡ááŒá¬ážááŸáá·áº áá¬áá¬áá²á·ááœá²á·á ááºážáá¯á¶áá»á¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯á áááá¯ááºážááá·áºá á áºááŸááºááŒá±á¬ááºážá¡áá±á¬ááºá¡áá¬ážááŒááá¯ááºááŒá±á á¡áá¯á¶ážááŒá¯áá°áá»á¬ážááẠáá±á¬ááºážááá¯ááŸá¯á¡áá±á¡ááœááºááŸáá·áº áá±áá¬á¡ááœááºá¡á á¬ážá¡ááá·áºááŸá á¡áááºážá¡ááŒá áºáá¯á¶ážá áœá²ááŸá¯ááᯠááá·áºááœááºážá ááºážá á¬ážáᬠáá¯á¶áá»áŸáá±áá¬ážáá±á¬ á¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶áá áºáá¯ááœáẠáááºážááá¯á·á virtual á¡á á¯á¡áá±ážáá»á¬ážááŸáá·áº áá±áá¬áá±á·á áºáá»á¬ážááᯠáááºáá®ážááá¯ááºáááºá ááá¯á·ááá¯áẠá¡áá»áá¯á·áá±á¬ ááœááºáá»á°áá¬á¡áááºážá¡ááŒá áºáá»á¬ážááŸáá·áº ááá¯ááŸá±á¬ááºááŸá¯áá±áá¬á¡á¬áž ááŸá¬ážáááºážááŒááºáž/ááŒáá¯áááºáá¬ážááŒááºážááŒáá·áº áááºáá®ážááá¯ááºáááºá
- áá±ááºááá®áá±á¬á·áá±á¬ áá±áá¬ááᯠá¡ááá¯á¡áá»á±á¬áẠáááºááŸá¬ážááẠááŸááºáááºážáá»á¬ážá áááºáááºážááᯠáá»áááºááŸáááá¯ááºááŸá¯á
source: opennet.ru