Yandex-ը բացեց բաշխված DBMS YDB-ի կոդը, որն աջակցում է SQL-ին

Yandex-ը հրապարակել է բաշխված YDB DBMS-ի սկզբնական տեքստերը, որն ապահովում է SQL բարբառի և ACID գործարքների աջակցություն: DBMS-ը ստեղծվել է զրոյից և ի սկզբանե մշակվել է սխալների հանդուրժողականության, խափանումների դեպքում ավտոմատ վերականգնման և մասշտաբայնության ապահովման նպատակով: Նշվում է, որ Yandex-ը գործարկել է աշխատող YDB կլաստերներ, ներառյալ ավելի քան 10 հազար հանգույցներ, որոնք պահում են հարյուրավոր պետաբայթ տվյալներ և սպասարկում են միլիոնավոր բաշխված գործարքներ վայրկյանում։ YDB-ն օգտագործվում է Yandex նախագծերում, ինչպիսիք են Market, Cloud, Smart Home, Alice, Metrika և Auto.ru: Կոդը գրված է C/C++-ով և տարածվում է Apache 2.0 լիցենզիայի ներքո: Ծանոթանալու և արագ գործարկելու համար կարող եք օգտագործել պատրաստի Docker կոնտեյներ:

Ծրագրի առանձնահատկությունները.

  • Օգտագործելով հարաբերական տվյալների մոդելը աղյուսակներով: YQL (YDB Query Language) օգտագործվում է տվյալների սխեման հարցումներ անելու և սահմանելու համար, որը SQL-ի բարբառ է, որը հարմարեցված է մեծ բաշխված տվյալների բազաների հետ աշխատելու համար: Պահպանման սխեման ստեղծելիս աջակցվում է աղյուսակների ծառի նման խմբավորումը, որը նման է ֆայլային համակարգի դիրեկտորիաներին: Տվյալների հետ JSON ձևաչափով աշխատելու համար տրամադրվում է API:
    Yandex-ը բացեց բաշխված DBMS YDB-ի կոդը, որն աջակցում է SQL-ին
  • Տվյալների հասանելիության աջակցություն՝ օգտագործելով սկան հարցումներ, որոնք նախատեսված են տվյալների բազայի նկատմամբ վերլուծական ժամանակավոր հարցումներ կատարելու համար, որոնք կատարվում են միայն կարդալու ռեժիմով և վերադարձնում են grpc հոսքը:
  • DBMS-ի հետ փոխազդեցությունը և հարցումների ուղարկումն իրականացվում է հրամանի տողի միջերեսի, ներկառուցված վեբ ինտերֆեյսի կամ YDB SDK-ի միջոցով, որն ապահովում է գրադարաններ C ++, C # (.NET), Go, Java, Node.js, PHP և Python.
  • Սխալ հանդուրժող կոնֆիգուրացիաներ ստեղծելու ունակություն, որոնք շարունակում են աշխատել, երբ առանձին սկավառակներ, հանգույցներ, դարակաշարեր և նույնիսկ տվյալների կենտրոնները ձախողվում են: YDB-ն աջակցում է տեղակայմանը և համաժամանակյա վերարտադրմանը երեք հասանելիության գոտիներում՝ պահպանելով կլաստերի առողջությունը գոտիներից մեկի ձախողման դեպքում:
  • Ավտոմատ կերպով վերականգնել ձախողումները հավելվածների համար նվազագույն ուշացումներով և ավտոմատ կերպով պահպանել նշված ավելորդությունը տվյալների պահպանման ժամանակ:
  • Ինդեքսների ավտոմատ ստեղծում առաջնային բանալու վրա և երկրորդական ինդեքսներ սահմանելու հնարավորություն՝ կամայական սյունակներ մուտք գործելու արդյունավետությունը բարելավելու համար:
  • Հորիզոնական մասշտաբայնություն. Քանի որ բեռնվածությունը և պահվող տվյալների չափը մեծանում են, կլաստերը կարող է ընդլայնվել՝ պարզապես միացնելով նոր հանգույցներ: Հաշվարկների և պահեստավորման մակարդակները առանձնացված են, ինչը թույլ է տալիս հաշվարկների և պահեստավորման մասշտաբները առանձին: DBMS-ն ինքն է վերահսկում տվյալների և բեռի միասնական բաշխումը` հաշվի առնելով առկա ապարատային ռեսուրսները: Հնարավոր է տեղակայել աշխարհագրորեն բաշխված կոնֆիգուրացիաներ, որոնք ընդգրկում են տվյալների մի քանի կենտրոններ աշխարհի տարբեր մասերում:
  • Աջակցություն ուժեղ հետևողականության մոդելին և ACID գործարքներին, երբ մշակվում են բազմաթիվ հանգույցներ և աղյուսակներ ընդգրկող հարցումներ: Գործողությունը բարելավելու համար կարող եք ընտրողաբար անջատել հետևողականության կառավարումը:
  • Տվյալների ավտոմատ վերարտադրում, ավտոմատ բաժանում (բաժանում, բաշխում), երբ չափը կամ բեռը մեծանում է, և հանգույցների միջև ավտոմատ բեռի և տվյալների հավասարակշռում:
  • Տվյալների պահպանում անմիջապես բլոկային սարքերի վրա՝ օգտագործելով հայրենի PDisk բաղադրիչը և VDisk շերտը: VDisk-ի վերևում աշխատում է DSProxy-ն, որը վերլուծում է սկավառակների առկայությունը և կատարումը՝ դրանք բացառելու համար, եթե խնդիրներ հայտնաբերվեն:
  • Ճկուն ճարտարապետություն, որը թույլ է տալիս ստեղծել YDB-ի վերևում, տարբեր ծառայություններ, մինչև վիրտուալ բլոկ սարքեր և մշտական ​​հերթեր (մշտական ​​հերթ): Հավելվածի համապատասխանությունը տարբեր տեսակի ծանրաբեռնվածության, OLTP և OLAP (վերլուծական հարցումներ):
  • Աջակցություն բազմաֆունկցիոնալ (մուլտիտենանտ) և առանց սերվերի կոնֆիգուրացիաներին: Հաճախորդների իսկությունը հաստատելու ունակություն: Օգտագործողները կարող են ստեղծել իրենց սեփական վիրտուալ կլաստերները և տվյալների բազաները ընդհանուր ընդհանուր ենթակառուցվածքում՝ հաշվի առնելով ռեսուրսների սպառումը հարցումների քանակի և տվյալների չափի մակարդակով, կամ վարձակալելով / վերապահելով որոշակի հաշվողական ռեսուրսներ և պահեստային տարածք:
  • Հնացած տվյալների ավտոմատ ջնջման համար գրառումների ժամկետը կարգավորելու հնարավորություն:

Source: opennet.ru

Добавить комментарий