Hacker News

Apache Arrow има 10 години

Apache Arrow има 10 години Оваа сеопфатна анализа на апачи нуди детално испитување на неговите основни компоненти и пошироки импликации. Клучни области на фокус Дискусијата се фокусира на: Основни механизми и процеси ...

1 min read Via arrow.apache.org

Mewayz Team

Editorial Team

Hacker News

Apache Arrow, платформата за развој на повеќе јазици со отворен код за податоци во меморијата, ја слави својата 10-годишнина во 2026 година - пресвртница што одбележува една деценија на трансформирање на начинот на кој модерните бизниси ги обработуваат, споделуваат и анализираат податоците во обем. Од своето скромно потекло како спецификација за формат на меморија во колона, Arrow прерасна во еден од најосновните слоеви на модерниот стек податоци, тивко напојувајќи ги алатките на кои милиони програмери и аналитичари се потпираат секој ден.

Што е точно Apache Arrow и зошто беше важно уште од првиот ден?

Apache Arrow се роди од едноставна, но длабока фрустрација: секоја алатка за податоци зборуваше различен внатрешен јазик. Пандите имаа свој распоред на меморија. Спарк имаше друга. Р имаше уште еден. Секојпат кога податоците се преместувале помеѓу системите, тие морале да се серијализираат, десериализираат и реформатираат - процес што ги согорува циклусите на процесорот, троши меморија и додава латентност на цевководите што тимовите треба да бидат брзи.

Предлогот на Arrow беше елегантен: дефинирајте единствен, стандардизиран колонообразен формат на меморија што секој јазик или време на работа може да го чита без копирање или конвертирање. Кога скрипта на Python ги предава податоците на библиотеката Rust преку стрелка, не се случува трансформација. Битовите на страницата се исти. Оваа интероперабилност со нула копии беше навистина револуционерна во свет каде инженерството на податоци стануваше сè пополиглотно.

Во првите години, Arrow привлече придонес од тимовите зад Pandas, Dremio, Wes McKinney и главните играчи во облак инфраструктурата. Фактот дека дипломирал на инкубацијата на Apache во 2016 година со толку широка поддршка од индустријата сигнализираше дека заедницата на податоци препозна дека ова не е само уште еден формат - тоа беше обид да се реши системски проблем на ниво на инфраструктура.

Како еволуираше Apache Arrow во текот на изминатата деценија?

Десет години подоцна, Arrow е многу повеќе од формат на меморија. Проектот се прошири во богат екосистем од сродни спецификации и имплементации:

  • Лет со стрелка: Протокол за транспорт на податоци со високи перформанси, изграден на gRPC, што овозможува податоците од стрелките да се движат помеѓу услугите со брзина на жица без сериски трошоци.
  • Arrow Flight SQL: Екстензија која им овозможува на базите на податоци да ги изложуваат SQL интерфејсите користејќи Arrow Flight, колапсувајќи го традиционалниот циклус на пребарување-резултат-фаќање во еден ефикасен проток.
  • Apache Arrow DataFusion: Рут-матичен пребарувач кој користи Arrow како свој мемориски формат, овозможувајќи вградена аналитика без посебен процес на база на податоци.
  • ADBC (Поврзување на базата на податоци со стрелки): API за поврзување со база на податоци, моделиран по ODBC и JDBC, но со стрелка, дозволувајќи им на апликациите да бараат бази на податоци и да добиваат резултати директно во формат 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.

Во споредба со Parquet, најблискиот братучед на Arrow, клучната разлика е во меморијата наспроти оптимизацијата на дискот. Паркетот е високо компресиран и оптимизиран за складирање и последователни читања. Стрелката е оптимизирана за активно пресметување - тоа е форматот што го користите кога податоците се живи и се обработуваат, а не кога се одмараат на дискот. Во пракса, современите системи за податоци ги користат и двете: паркет за складирање, стрелка за пресметување, со ефикасна конверзија меѓу нив.

Лекцијата за архитектите на деловниот софтвер е дека изборот на формат не е неутрална одлука. Складирањето ориентирано кон редови го прави трансакциското пишување брзо. Колонарното претставување во меморијата го прави аналитичкото читање брзо. Зрела платформа се справува со двете, насочувајќи ги податоците преку вистинската репрезентација во вистинскиот момент - токму онаква невидлива инфраструктура што ја прави разликата помеѓу платформата што се зголемува и онаа што не го прави тоа.

Како изгледа следната деценија за Apache Arrow?

Траекторијата на Arrow укажува на подлабоко вградување и поширока стандардизација. Бидејќи оптоварувањата со вештачка интелигенција и машинско учење стануваат централни за деловните операции, колонообразниот формат на Arrow природно се усогласува со претставите на тензорите што се користат во ML-рамките. Проектите веќе го истражуваат Arrow како мост помеѓу табеларни деловни податоци и ML цевководи со тензор, намалувајќи ја горната трансформација што моментално ги забавува цевководите за карактеристики на вештачката интелигенција.

Иницијативата ADBC сугерира иднина каде што кодот на апликацијата ја бара секоја база на податоци и добива резултати во универзално потрошен формат, без чудни специфични за возачот или даноци за серијализација. За платформите SaaS кои управуваат со различни извори на податоци кај илјадници клиенти, овој вид стандардизација на слојот за поврзување е исто толку основен како што беше HTTP за веб-услугите.

Често поставувани прашања

Дали Apache Arrow е база на податоци или формат на датотека?

Apache Arrow не е ниту база на податоци, ниту едноставен формат на датотека - тоа е спецификација за колонообразно претставување на податоци во меморијата, заедно со семејство на поврзани протоколи и алатки. Сфатете го како заеднички јазик на кој различни бази на податоци, пребарувачи и програмски јазици можат да зборуваат природно, елиминирајќи го преводот што вообичаено се јавува кога податоците ги преминуваат границите на системот.

Дали Apache Arrow го заменува паркетот?

Не — Arrow и Parquet решаваат различни проблеми и најдобро функционираат заедно. Паркетот е оптимизиран за компресирано, ефикасно складирање на дискот и е доминантен колонообразен формат на датотека за езерата со податоци. Стрелката е оптимизирана за пресметување во меморијата и меѓусистемско споделување податоци без копирање. Современите системи за податоци обично ги складираат податоците како паркет и ги вчитуваат во формат стрелка за активна обработка.

Како Apache Arrow е релевантен за деловните софтверски платформи?

За интегрираните деловни платформи, архитектонските принципи на Arrow - стандардизирано внатрешно претставување на податоци, споделување на нула копии помеѓу компонентите и ефикасен аналитички пристап - директно влијаат на тоа колку добро може да се размери системот со повеќе модули без да се акумулира долг за интеграција. Платформите што ги интернализираат овие принципи можат да додадат функционалност без пропорционално да додаваат сложеност.

Во Mewayz, изградивме деловен оперативен систем од 207 модули што го користат над 138.000 бизниси ширум светот, интегрирајќи сè, од CRM и маркетинг преку е-пошта до е-трговија и аналитика во една кохерентна платформа. Како и пристапот на Arrow кон податочната инфраструктура, веруваме дека одличниот деловен софтвер треба да биде невидлив по својата сложеност и очигледен по својата вредност. Плановите започнуваат од само 19 $/месечно.

Започнете го вашиот бесплатен пробен период на app.mewayz.com и искусете како се чувствува вистински интегриран деловен оперативен систем - изграден на истата филозофија што го направи Apache Arrow неопходен: напорната работа на ниво на инфраструктура за да можат градителите да се фокусираат на она што е важно.