Hacker News

Apache Arrow-ը 10 տարեկան է

Apache Arrow-ը 10 տարեկան է Apache-ի այս համապարփակ վերլուծությունը առաջարկում է դրա հիմնական բաղադրիչների և ավելի լայն հետևանքների մանրամասն ուսումնասիրություն: Ուշադրության հիմնական ոլորտները Քննարկումը կենտրոնացած է. Հիմնական մեխանիզմներ և գործընթացներ ...

1 min read Via arrow.apache.org

Mewayz Team

Editorial Team

Hacker News

Apache Arrow-ը` հիշողության տվյալների համար միջլեզու մշակման բաց կոդով հարթակը, նշում է իր 10-ամյակը 2026թ.-ին, որը մի տասնամյակ է, որը նշում է ժամանակակից բիզնեսների կողմից տվյալների մշակման, փոխանակման և վերլուծության մասշտաբային տվյալների փոփոխման տասնամյակը: Իր խոնարհ ծագումից՝ որպես սյունակային հիշողության ձևաչափի ճշգրտում, Arrow-ը վերածվել է տվյալների ժամանակակից փաթեթի ամենահիմնական շերտերից մեկի՝ հանգիստ սնուցող գործիքների, որոնց վրա ամեն օր ապավինում են միլիոնավոր մշակողներ և վերլուծաբաններ:

Ի՞նչ է իրականում Apache Arrow-ը և ինչու՞ էր այն կարևոր առաջին օրվանից:

Apache Arrow-ը ծնվել է պարզ, բայց խորը հիասթափության հետևանքով. տվյալների յուրաքանչյուր գործիք խոսում էր տարբեր ներքին լեզվով: Պանդաներն ունեին իրենց հիշողության դասավորությունը: Spark-ն ուներ ևս մեկ: R-ն ուներ ևս մեկ: Ամեն անգամ, երբ տվյալները տեղափոխվում էին համակարգերի միջև, դրանք պետք է սերիականացվեին, ապասերիալացվեին և վերաֆորմատավորվեին. մի գործընթաց, որն այրում էր պրոցեսորի ցիկլերը, սպառում հիշողությունը և ավելացնում ուշացումներ խողովակաշարերին, որոնք թիմերը պետք է արագ աշխատեին:

Arrow-ի առաջարկը նրբագեղ էր. սահմանել մեկ, ստանդարտացված սյունակային հիշողության ձևաչափ, որը ցանկացած լեզու կամ գործարկման ժամանակ կարող է կարդալ առանց պատճենելու կամ փոխակերպելու: Երբ Python սկրիպտը տվյալները փոխանցում է Rust գրադարանին Arrow-ի միջոցով, ոչ մի փոխակերպում տեղի չի ունենում: Էջի բիթերը նույնն են: Այս զրոյական օրինակով փոխգործունակությունն իսկապես հեղափոխական էր մի աշխարհում, որտեղ տվյալների ճարտարագիտությունը գնալով ավելի ու ավելի բազմալեզու էր դառնում:

Առաջին տարիներին Arrow-ը ներդրում կատարեց Pandas-ի, Dremio-ի, Wes McKinney-ի և ամպային ենթակառուցվածքի հիմնական խաղացողների թիմերից: Այն փաստը, որ այն ավարտեց Apache-ի ինկուբացիան 2016-ին նման լայն արդյունաբերության աջակցությամբ, ազդարարեց, որ տվյալների հանրությունը հասկացավ, որ սա պարզապես մեկ այլ ձևաչափ չէ, այլ ենթակառուցվածքի մակարդակում համակարգային խնդիր լուծելու փորձ:

Ինչպե՞ս է զարգացել Apache Arrow-ը վերջին տասնամյակի ընթացքում:

Տասը տարի անց Arrow-ը շատ ավելին է, քան հիշողության ձևաչափը: Ծրագիրն ընդլայնվել է հարակից բնութագրերով և իրականացումներով հարուստ էկոհամակարգի մեջ.

  • Arrow Flight. Բարձր արդյունավետության տվյալների փոխանցման արձանագրություն, որը կառուցված է gRPC-ի վրա, որը թույլ է տալիս Arrow-ի տվյալները տեղափոխել ծառայությունների միջև լարերի արագությամբ՝ առանց սերիականացման:
  • Arrow Flight SQL. Ընդլայնում, որը թույլ է տալիս տվյալների բազաներին բացահայտել SQL միջերեսները Arrow Flight-ի միջոցով՝ փլուզելով ավանդական հարցում-արդյունք-բերման ցիկլը մեկ արդյունավետ հոսքի մեջ:
  • Apache Arrow DataFusion. Rust-native հարցումների շարժիչ, որն օգտագործում է Arrow-ը որպես իր հիմնական հիշողության ձևաչափը, որը հնարավորություն է տալիս ներկառուցված վերլուծություններ առանց տվյալների բազայի առանձին գործընթացի:
  • ADBC (Arrow Database Connectivity). Տվյալների բազայի միացման API, որը մոդելավորվել է ODBC-ի և JDBC-ի հիման վրա, բայց Arrow-ի բնօրինակով, որը թույլ է տալիս հավելվածներին հարցումներ կատարել տվյալների շտեմարաններում և ստանալ արդյունքներ անմիջապես Arrow ձևաչափով:
  • Arrow IPC ձևաչափ. Ֆայլ և հոսքային ձևաչափ, որը թույլ է տալիս Arrow-ի տվյալները պահպանել և փոխանակել գործընթացների և մեքենաների միջև նույն զրոյական պատճենման արդյունավետությամբ:

13 պաշտոնական լեզուների ներդրումներում, ներառյալ C++, Java, Go, Rust, Python, JavaScript, C# և ավելին, Arrow-ը հասել է էկոհամակարգային այնպիսի ընդունման, որի մասին բաց կոդով նախագծերի մեծ մասը միայն երազում է: Գրադարանները, ինչպիսիք են Polars-ը, DuckDB-ն և InfluxDB 3.0-ը, կառուցել են իրենց ամբողջ շարժիչները Arrow սյունակային ձևաչափի շուրջ՝ այն դիտարկելով ոչ թե որպես փոխգործունակության շերտ, այլ որպես իրենց հիմնական տվյալների ներկայացում:

Ի՞նչ ազդեցություն է ունեցել սլաքն իրական աշխարհի վրա տվյալների վրա հիմնված ձեռնարկությունների վրա:

«Apache Arrow-ը ոչ միայն արագացրեց տվյալների տեղափոխումը, այլ վերասահմանեց, թե ինչ տեսք կարող է ունենալ բիզնես հարթակի տվյալների շերտը: Երբ ենթակառուցվածքը վերածվում է ստանդարտների, շինարարները կարող են կենտրոնանալ արժեքի վրա»:

Arrow-ի բիզնեսի ազդեցությունն առավել տեսանելի է երկու ոլորտներում՝ ծախսերի կրճատում և կրկնման արագություն: Թիմերը, որոնք ժամանակին նախատեսում էին խողովակաշարի հետաձգման ժամեր՝ միջհամակարգային տվյալների շարժման համար, այժմ չափվում են միլիվայրկյաններով: Վերլուծությունները, որոնք պահանջում էին հատուկ տվյալների պահեստի կլաստերներ, այժմ կարող են ներկառուցվել հավելվածի սերվերներում՝ օգտագործելով DataFusion կամ DuckDB: Գործառնական ծախսերի կրճատումը չափելի է, և մասշտաբով գործող ձեռնարկությունների համար դա նշանակալի է:

Ժամանակակից բիզնես օպերացիոն համակարգերի համար, ինչպիսին է Mewayz-ը, որոնք միավորում են 207 մոդուլներ, որոնք ներառում են CRM, մարքեթինգ, էլեկտրոնային առևտուր, պլանավորում և վերլուծություն մեկ հարթակում, Arrow-ի ճարտարապետական ​​դասերը խորապես տեղին են: Ներքին տվյալների ստանդարտացված ներկայացումը, ծառայությունների միջև արդյունավետ տեղաշարժը և մոդուլների միջև զրոյական պատճենների համօգտագործումը հենց այն ինժեներական հատկություններն են, որոնք թույլ են տալիս 207 մոդուլից բաղկացած համակարգին մնալ համահունչ և արագ՝ չդառնալով պատվիրված ինտեգրման խճճված խառնաշփոթ:

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →

Ինչպե՞ս է Arrow-ի ճարտարապետությունը համեմատվում տվյալների փոխանակման ավանդական մոտեցումների հետ:

Նախքան Arrow-ը, փոխանակման գերիշխող ձևաչափերն ուղղված էին տողերին՝ CSV, JSON և հարաբերական տողերի խանութներ: Այս ձևաչափերը ընթեռնելի են և ճկուն, բայց խորապես անարդյունավետ են վերլուծական ծանրաբեռնվածության համար, որոնք սկանավորում են սյունակները միլիոնավոր տողերում: CSV-ից մեկ սյունակ կարդալը նշանակում է վերլուծել յուրաքանչյուր տող: Սլաքների աղյուսակից սյունակ կարդալը նշանակում է մեկ հարակից հիշողության սկանավորում՝ գործողություն, որը հագեցնում է պրոցեսորի քեշի տողերը և օգուտներ քաղում SIMD վեկտորացումից:

Պարկետի՝ Arrow-ի մերձավոր զարմիկի համեմատությամբ, հիմնական տարբերությունը հիշողության մեջ և սկավառակի վրա օպտիմիզացումն է: Մանրահատակը խիստ սեղմված է և օպտիմիզացված պահպանման և հաջորդական ընթերցումների համար: Arrow-ը օպտիմիզացված է ակտիվ հաշվարկների համար. դա այն ձևաչափն է, որը դուք օգտագործում եք, երբ տվյալները կենդանի են և մշակվում են, այլ ոչ թե երբ դրանք գտնվում են սկավառակի վրա: Գործնականում ժամանակակից տվյալների համակարգերն օգտագործում են երկուսն էլ՝ մանրահատակ՝ պահեստավորման համար, սլաք՝ հաշվարկման համար՝ դրանց միջև արդյունավետ փոխակերպմամբ:

Բիզնես ծրագրային ապահովման ճարտարապետների դասն այն է, որ ձևաչափի ընտրությունը չեզոք որոշում չէ: Շարքի վրա հիմնված պահեստավորումը արագացնում է գործարքային գրառումները: Սյունակային հիշողության մեջ ներկայացումը արագացնում է վերլուծական ընթերցումները: Հասուն հարթակը կառավարում է երկուսն էլ՝ ճիշտ պահին երթուղղելով տվյալները ճիշտ ներկայացման միջոցով. հենց այն տեսակի անտեսանելի ենթակառուցվածքը, որը տարբերություն է դնում պլատֆորմի միջև, որը մասշտաբային է և ոչ:

Ինչպիսի՞ն է հաջորդ տասնամյակը Apache Arrow-ի համար:

Arrow-ի հետագիծը ցույց է տալիս ավելի խորը ներդրում և ավելի լայն ստանդարտացում: Քանի որ AI-ի և մեքենայական ուսուցման աշխատանքային ծանրաբեռնվածությունը դառնում է առանցքային բիզնես գործառնությունների համար, Arrow-ի սյունակային ձևաչափը բնականաբար համընկնում է ML շրջանակներում օգտագործվող տենզորի ներկայացումների հետ: Նախագծերն արդեն ուսումնասիրում են Arrow-ը որպես կամուրջ աղյուսակային բիզնես տվյալների և տենսորի բնիկ ML խողովակաշարերի միջև՝ նվազեցնելով վերափոխման ծախսերը, որոնք ներկայումս դանդաղեցնում են AI-ի առանձնահատկությունների խողովակաշարերը:

ԱԶԲԿ-ի նախաձեռնությունն առաջարկում է ապագա, որտեղ կիրառական կոդը կհարցնի ցանկացած տվյալների շտեմարան և կստանա արդյունքներ համընդհանուր սպառվող ձևաչափով, առանց վարորդների հատուկ տարօրինակությունների կամ սերիականացման հարկերի: SaaS հարթակների համար, որոնք կառավարում են տվյալների տարբեր աղբյուրներ հազարավոր հաճախորդների համար, կապի շերտի այս տեսակ ստանդարտացումը նույնքան հիմնարար է, որքան HTTP-ն վեբ ծառայությունների համար:

Հաճախակի տրվող հարցեր

Apache Arrow-ը տվյալների բազա՞ է, թե՞ ֆայլի ձևաչափ:

Apache Arrow-ը ոչ տվյալների շտեմարան է, ոչ էլ պարզ ֆայլի ձևաչափ. այն հիշողության մեջ սյունակային տվյալների ներկայացման հստակեցում է՝ հարակից արձանագրությունների և գործիքների ընտանիքի հետ միասին: Մտածեք այն որպես ընդհանուր լեզու, որտեղ տարբեր տվյալների բազաները, հարցումների շարժիչները և ծրագրավորման լեզուները կարող են խոսել բնիկ կերպով՝ վերացնելով թարգմանության ծախսերը, որոնք սովորաբար առաջանում են, երբ տվյալները հատում են համակարգի սահմանները:

Apache Arrow-ը փոխարինո՞ւմ է մանրահատակին:

Ոչ — Arrow-ն ու մանրահատակը լուծում են տարբեր խնդիրներ և լավագույնս աշխատում են միասին: Մանրահատակը օպտիմիզացված է սկավառակի վրա սեղմված, արդյունավետ պահեստավորման համար և տվյալների լճերի համար սյունակային ֆայլի գերիշխող ձևաչափն է: Arrow-ը օպտիմիզացված է հիշողության մեջ հաշվարկելու և միջհամակարգային տվյալների փոխանակման համար՝ առանց պատճենելու: Ժամանակակից տվյալների համակարգերը սովորաբար պահում են տվյալները որպես մանրահատակ և բեռնում այն Arrow ձևաչափով՝ ակտիվ մշակման համար:

Ինչպե՞ս է Apache Arrow-ը համապատասխան բիզնես ծրագրային հարթակների համար:

Ինտեգրված բիզնես հարթակների համար Arrow-ի ճարտարապետական սկզբունքները` տվյալների ստանդարտացված ներքին ներկայացում, զրոյական պատճենների փոխանակում բաղադրիչների միջև և արդյունավետ վերլուծական հասանելիություն, ուղղակիորեն ազդում են այն աստիճանի վրա, թե բազմամոդուլային համակարգը կարող է մասշտաբավորվել առանց ինտեգրման պարտք կուտակելու: Պլատֆորմները, որոնք ներառում են այս սկզբունքները, կարող են ավելացնել ֆունկցիոնալությունը՝ առանց բարդության համաչափ ավելացնելու:

Mewayz-ում մենք ստեղծել ենք 207 մոդուլից բաղկացած բիզնես օպերացիոն համակարգ, որն օգտագործվում է ավելի քան 138,000 բիզնեսի կողմից ամբողջ աշխարհում՝ ինտեգրելով ամեն ինչ՝ սկսած CRM-ից և էլփոստի մարքեթինգից մինչև էլեկտրոնային առևտուր և վերլուծություն մեկ համահունչ հարթակում: Ինչպես Arrow-ի մոտեցումը տվյալների ենթակառուցվածքին, մենք կարծում ենք, որ մեծ բիզնես ծրագրաշարը պետք է լինի անտեսանելի իր բարդությամբ և ակնհայտ իր արժեքով: Պլանները սկսվում են ամսական ընդամենը 19 դոլարից:

Սկսեք ձեր անվճար փորձարկումը app.mewayz.com կայքում և զգացեք, թե ինչ է զգում իսկապես ինտեգրված բիզնես ՕՀ-ն՝ հիմնված այն նույն փիլիսոփայության վրա, որն անփոխարինելի դարձրեց Apache Arrow-ին. կատարեք ծանր աշխատանքը ենթակառուցվածքի մակարդակում, որպեսզի շինարարները կարողանան կենտրոնանալ կարևորի վրա: