Teams sometimes need lower latency, lower costs (especially as they scale) or the ability to run their applications somewhere other than AWS. Դա հեշտ է հասկանալ, թե ինչու շատ թիմերը փոխել են Amazon DynamoDB- ում 2012 թ.-ին, այն հեշտ է սկսել, հատկապես, եթե ձեր կազմակերպությունը արդեն ներառում է AWS- ի բազանային համակարգում: Դա relatively արագ եւ ծախսելի է, մի ցածր ուսուցման գծի հետ: Եվ քանի որ այն ամբողջականորեն կառավարվում է, այն վերցնում է գործառույթային փորձը եւ գիտելիքը, որը սովորաբար պահանջվում է բազաների վերահսկողման եւ անջատման համար: Բայց ժամանակի հետ, սխալները հայտնաբերվում են, հատկապես, քանի որ աշխատանքային լարման չափը եւ բիզնեսի պահանջները զարգանում են. թիմերը երբեմն պետք է ավելի ցածր լարման, ավելի ցածր ծախսերը (հարկե այն ժամանակ, երբ նրանք լարման են), կամ կարողություն կատարել իրենց ծրագրերը, այլեւ AWS- ում: Այս դեպքում, ScyllaDB- ը, որը առաջարկում է DynamoDB- ի համատեղելի API-ը, հաճախ ընտրվում է այլն: Տեսեք, թե ինչ է անում DynamoDB-ը, քանի որ երեք թիմերը կախված են DynamoDB-ին: Multi-Cloud Flexibility եւ ծախսերի ծախսերը Yieldmo- ը մի առցանց рекламни պլատֆորմ է, որը կապում է գրասենյակներին եւ рекламниներին իրական ժամանակում, օգտագործելով auktion-based համակարգը, որը optimized է ML- ի հետ: Նրա գործառույթը հավատում է, որ рекламниները արագ եւ արդյունավետորեն մատակարարվում են (200-300 milliseconds- ում), որը պահանջում է ultra-rapid, high-throughput databases lookups- ի ծախսերի վրա: Databases delays directly translate to lost business. Մինչեւ DynamoDB- ը հավասար էր, կարեւոր սահմանափակումներ հայտնաբերվել են, քանի որ նրանք աճել են: Todd Coleman, Technical Co-Founder եւ Chief Architect, բացահայտել է, որ իրենց հիմնական վախենյակներ են երկու: ծախսերի կախվածությունը եւ գլաստիկ սահմանափակումներ: բազայի բազանը ավելի շատ ծախսել է, քանի որ նրանք ծախսել են, եւ այն կախված է AWS- ում, որը խուսափում է իրական multi-cloud հզորությունը: DynamoDB- ի տարբերակների ուսումնասիրության ժամանակ, նրանք հույս են գտնել տարբերակ, որը կարող է պահպանել արագությունը, ծախսելիությունը եւ հավասարությունը, իսկ նվազեցնում է ծախսերը եւ ապահովել կլուխ մատակարարների незалежությունը: Yieldmo առաջին անգամ կարծում է, որ DynamoDB- ի հետ կանգնած է, եւ ավելացնել է կաթեթավորման մակերեսը: Սակայն, կաթեթավորում չի կարող լուծել geographic latency խնդիրը: Cache misses- ը շատ արագ է, այնպես որ այս դիզայնը անսահմանափակ է: Նրանք նաեւ ուսումնասիրել են Aerospike- ը, որը առաջարկում է արագության եւ cross-cloud- ի աջակցությունը: Սակայն, Aerospike- ի ինտեգրման համար պետք է լինի անսահմանափակ մեծ եւ ծախսական բաղադրիչ, որը կարող է աշխատել Yieldmo- ի մեծ շարք փոքր տվյալների բաղադրիչների համար: Բացի այդ, Aerospike- ի փոխանցման համար պետք է պետք էր լայն եւ ժամանակակից կոդը փոխանցման համար: Այսպիսով, ScyllaDB- ի DynamoDB- ի համատեղելի API-ը (Alternator) էր խաղային փոխարինող. «ScyllaDB- ը աջակցում է cross-cloud- ի տեղադրման համար, պահանջում է կառավարելի շարք սերվերի համար, եւ առաջարկում է համեմատական ծախսերը: Լավագույնը այն է, որ իր API-ը DynamoDB- ի հետ համատեղելի էր, որը նշանակում է, որ մենք կարող ենք փոխել մի փոքր կոդը փոխանցման հետ: Հիմնականում, մեկ ինժեները տեղադրել է անհրաժեշտ փոխանցումները միայն մի քանի օրվա ընթացքում». Ուղղեցման գործընթացը հարմարեցված էր, օգտագործելով իրենց առաջատար Kafka հաղորդագրության գծի դիզայնը, որպեսզի ապահովել տվյալների ինտեգրիտությունը: Նրանք կատարել են երկու Proof-of-Concept (POC) փորձերը: առաջինը 28 միլիոն բոնուսների միասնական դիզայնի հետ, ապա բոլոր 5 AWS տարածքներում: Ապրանքները տպավորել են: Todd- ը համեմատել է, «Մենք մեր բազանային բազանների ծախսերը կտրել ենք, նույնիսկ DynamoDB- ի տպագրված հզորության գնումով:» եւ ավելի քան ծախսերի փաթեթավորում, Yieldmo- ը ստացել է հզորությունը, որը կարող է տեղադրվել տարբեր բազանային մատակարարների վրա: Նրանց լարմանությունը բարելավվել է, եւ ScyllaDB- ը այնքան հեշտ է աշխատել, ինչպես DynamoDB- ը: «Այսից հետո, Todd- ը հայտարարել է, որ մեր առաջին խնդիրը, որ DynamoDB- ի հավասարավետությունը հավասարեցված է, այնպես էլ, ScyllaDB- ը մեծ ընկեր է: Նրա թիմը ապահովում է մեր կլորների վերահսկողությունը, օգնություն է տալիս մեզ հնարավոր խնդիրների մասին, եւ օգնություն է տալիս մեզ, երբ պահանջվում է կլորման համար: Այս փորձը հարմարավետ է DynamoDB- ի հետ, բայց ավելի հիանալի է եւ բարձր է ծախսերը»: Հիմնական հոդված՝ Yieldmo GCP- ի հետ ավելի լավ կատարումը եւ ավելի ցածր ծախսերը Digital Turbine- ը, որը հիմնական խաղացող է բջջային рекламна տեխնոլոգիաների հետ, որը $ 500 միլիոն տարիական մատակարարում է, համոզված է DynamoDB- ի տեղադրման հետ: Երբ իր հիմնական խնամքը մigration- ում է Google Cloud Platform- ում ստանդարտելու համար, որ ստանդարտությունները ստանդարտելուց հետո, առկա DynamoDB- ի լուծումը կախված է արտադրանքի եւ ծախսերի համար: «Դա կարող է լինել մի քիչ ծախսական, քանի որ դուք ծախսել եք, իհարկե,» ասում է Joseph Shorter, Digital Turbine- ի պլատֆիլմային դիզայնի դիզայնի դիզայնի դիզայնը: «Մենք գտնում ենք որոշ արդյունավետության խնդիրներ: Մենք անում ենք մի տոնը կարդալներ — DynamoDB- ի հետ բոլոր ինտերնետների 90%-ը կարդալ են գործառույթներ: Այս բոլոր գործառույթների հետ, մենք գտնել ենք, որ արդյունավետության տոմսերը պահանջում են մեզ ավելի բարձրացնել, քան մենք ուզում ենք, ինչը բարձրացել է ծախսերը»: Digital Turbine- ը անհրաժեշտ էր, որ վերադառնալը այնքան արագ եւ ցածր վտանգի է, ինչպես կարող է լինել, ինչը նշանակում է, որ օգտագործման վերահսկողությունը վերահսկողությունը կանգնած է: Shorter- ի հետ, հիմնական խնդիրը էր: «Ինչպե՞ս կարող ենք վերահսկել մեր պլատֆորմը, ոչ թե վերահսկողելու մեր պլատֆորմը, իսկ վերահսկողությունը կանգնած է այնպես, թե ինչպես կարող ենք վերահսկողել մեր պլատֆորմը, իսկ վերահսկողությունը կանգնած կանգնած կանգնած կանգնած պլատֆորմը, քանի որ եթե դա կանգնած է, այն կանգնած է մեր ամբողջ ընկերությունը»: Շատ տարբերակների գնահատման հետո Digital Turbine- ը փոխվել է ScyllaDB- ում եւ ստացել է անմիջապես բարելավություններ: Այս մigration- ի տեղադրման համար պետք է ավելի քան մի Sprint- ը, եւ արդյունքները գերազանցել են երաշխիքները: «20% ծախսերի տարբերություն - դա մեծ քանակը, ոչ թե այն մասին, թե ինչ եք խոսում,» Shorter նշում է: «Եթե դուք կարծում եք, որ մեր ծրագրերը ավելի մեծ են, դա ավելի կարեւոր է»: Ավելի քան ծախսերի փաթեթավորում, նրանք գտնել են, որ «Համփակել են ScyllaDB clusters- ից», որը ցույց է տալիս, որ ավելի մեծ աճի տարածք է, առանց proportional ծախսերի բարձրացման: Digital Turbine Վիքիպահեստում Բարձր գրառման արագությունը, ցածր լարման եւ ցածր ծախսերի հետ Մասնավորությունը, որը օգտագործում է DynamoDB- ը, մի քանի տարի առաջ օգտագործել է DynamoDB- ը: Երբ նրանք վերլուծում են երկու առաջադեմ օգտագործման գործառույթները, նրանք կարծում են, թե այն ժամանակ է, որ տվյալների բազանը փոխվի: Pause/Resume: Եթե օգտվողը տեսնում է մի տեսանյութը եւ կանգնած է այն, նրանք կարող են վերցնել այնտեղ, որտեղ նրանք կանգնած են - ցանկացած սարքի վրա, ցանկացած տեղից: Watch Status- ը օգտագործում է այդ նույն տվյալները, որոշելու համար, թե ինչպես է օգտագործողը տեսել է տեսանյութը: Այսպիսով, մի հեշտ դիզայնային դիզայնը: Ամեն 30 րոպեում հաճախորդը ուղեցնում է սերտիֆիկները, որոնք մուտքագրում են նորարարված խաղադրույքի կայքը, եւ հետո ուղեցնում են այդ գործառույթները բազանայում: Edge Pipeline- ը բեռնում է գործառույթները օգտագործողների հետ նույն տարածքում, իսկ Authority (Auth) Pipeline- ը համատեղում է գործառույթները բոլոր 5 տարածքի համար, որոնք ընկերությունը ծառայում է: Հաջորդում, տվյալները պետք է բեռնել եւ մուտքագրվել վերցնել հաճախորդի համար, որպեսզի աջակցել խաղադրույքը: Գիտեք, որ թիմը ցանկանում էր պահպանել Auth- ի եւ Edge- ի տարածքների տարբերությունը, այնպես որ նրանք չգիտեն, թե ինչ-որ բան բազանային մասնագիտության համար: Երկու հիմնական տեխնիկական պահանջները այս դիզայնի աջակցելու համար: Որպես որ ապահովել է մեծ օգտագործող փորձը, համակարգը պետք է մնալ բարձր հարմարավետության, ցածր լարման գծերի եւ կարողությունը ծախսել հիմնված է առեւտրային լարման. Որպես որ նրանք պետք է հեշտորեն ներգրավվել AWS ծառայությունների հետ, այն պետք է հեշտությամբ բացահայտել, թե ինչպես պետք է ներգրավվել AWS ծառայությունների հետ: Երբ այդ փաթեթները վերահսկվել են, թիմը նաեւ հույս է նվազել ամբողջական ծախսերը: «Մենք ունենք տվյալները DynamoDB- ի եւ Elasticache- ի տարբեր խոշորների մեջ, այնպես որ մենք իրականում ուզում ենք ինչ-որ պարզ բան, որը կարող է համատեղել այդ տվյալները շատ ցածր ծախսերի համակարգում»: Բարձրապես, նրանք պետք է database հետ: Multiregion- ի աջակցություն, քանի որ ծառայությունը հայտնի էր 5 հիմնական գլաստիկ տարածքներում: Ավելի քան 170K թարմացումները սեղմվում են սեղմելու համար, բայց համակարգը պետք է կատարվի սեղմված թարմացումներ, որոնք հիմնված են գործառույթների ժամանակագրերի վրա: Ծրագրի հզորությունը 78K- ից ավելի մանրամասներ է կարդում մեկ շաբաթում, P99- ի տեւողությունը 10-ից 20-ից 20 մուլիսսուդերի ընթացքում: Օգտագործման գործառույթը ներառում է միայն պարզ փոստի հարցերը, ինչպիսիք են ինտեգրտներ, բաժանման եւ հարմարեցված հարցերի մոդելներ: Ավելի քան 10 TB տվյալներ, որոնք կարող են աճել. Ինչու է փոխվել DynamoDB- ից: «DynamoDB- ը կարող է բարելավել մեր տեխնիկական պահանջները: Բայց իմանալով մեր տվյալների չափը եւ բարձր (լուսանկարների) հզորությունը, DynamoDB- ի հետ վերցնելը այնպես է, թե ինչպես պետք է գնել գումար». Շնորհակալության համար, նրանք տեղադրել են ScyllaDB Cloud Test Cluster- ը, որը 6 AWS i4i 4xlarge կոճակներ ունի, եւ տեւել են կոճակը 3 միլիոն գրքերով: Նրանք գործել են միասին 170K գրառություններ է քսում եւ 78K գրառություններ է քսում: Եվ արդյունքները: «Մենք ստացել ենք միասին տեւողությունը սխալների հետ: Մեր P99- ի տեւողության տեւողությունը 9 մգ, եւ տեւողության տեւողությունը ավելի քան 1 մգ էր»: Այս ցածր լարմանների հետ միասին կարեւոր ծախսերի փաթեթավորում (50% - ից ավելի) խուսափել են DynamoDB- ից հեռանալով: Բացի ցածր լարմանների ավելի ցածր ծախսերի հետ, թիմը նաեւ խուսափել է ScyllaDB- ի հետեւյալ մասերը: ScyllaDB- ի արդյունավետության կենտրոնացած դիզայնը (հարկվում է Seastar- ի սարքի վրա, օգտագործելով C++- ը, NUMA- ի գիտելիքներ, առաջարկում են սխալ գիտելիքներ, եւ այլն) օգնում է թիմը սխալ պահելու ժամանակը եւ ծախսերը: Incremental Compaction Strategy- ը օգնում է մեծապես նվազեցնել գրառման հզորությունը: Auth- ը օգտագործում է quorum- ի ճշգրտությունը, իսկ Edge- ը օգտագործում է "1" ճշգրտության մակարդակը, քանի որ տվյալների ճշգրտությունը եւ բարձր ծախսերը օգտագործվում են: Նրա backend- ի ինժեները գրել է: «Մենք պետք է իմանալ ոչ միայն առանձնահատկությունները, այլեւ ծախսերը: Serverless- ը ոչ մի գլուխ է, հատկապես բազանային բազանում: «Մենք ունենք, որ DynamoDB serverless- ը մեծ ընտրություն չէ, քանի որ բարձր լարման եւ լարման պահանջները: Բացի այդ, չեք խոշորում սարքավորումների գործառույթը: Լավագույն սարքավորումների օգտագործումը կարեւոր է ծախսերի նվազեցման համար, իսկ կատարումը բարելավելու համար»: Կարդալ ավելին Ի՞նչ է ձեր թիմը հետո։ Եթե ձեր թիմը մտածում է Հիմա Խնդրում ենք վերցնել. Sign up for Ձեզ տեղեկացնել ենք, թե ScyllaDB- ը լավ է, եւ, եթե դա լավ է, թե ինչ կարող է նշանակել մigration- ը ծրագրային փոխանակման, տվյալների մոդելացման, ինտրաֆորմացիա եւ այլն: DynamoDB-ի վերադարձը ScyllaDB- ը կարող է լինել տարբերակ Technical Consultation-ի մասին Բոնուս: Հետեւեք, թե ինչպես ScyllaDB- ը համեմատվում է DynamoDB- ի հետ: գրել է Տեսակ : Guilherme Da Silva Nogueira- ը եւ Felipe Cardeneti Մենդես . գրել է Guilherme Da Silva Nogueira- ը Felipe Cardeneti Մենդես