Dino v3 🦖
https://github.com/facebookresearch/dinov3
Новая вижн моделька
Welcome to my personal place for love, peace and happiness 🤖
https://github.com/facebookresearch/dinov3
Новая вижн моделька
Представьте себе, что вам нужно найти самый быстрый путь из одной точки в другую на карте, где каждая дорога имеет свою “стоимость” (например, время в пути или расстояние). Это задача о кратчайшем пути от одного источника (ССКП). Классический способ решения этой задачи, особенно когда “стоимость” дорог всегда положительна, – это алгоритм Дейкстры. Он работает очень хорошо, но его скорость ограничена тем, что он, по сути, “сортирует” все точки по удаленности от начальной. Это похоже на то, как если бы вы постоянно искали следующую ближайшую дверь, что в худшем случае может быть довольно медленно для очень больших карт.
Что сделали эти ученые?
Авторы статьи dl.acm.org – Ран Дуань, Цзяи Мао, Сяо Мао, Синькай Шу и Лунхуэй Инь – нашли способ “обойти” это ограничение сортировки для ориентированных графов (где дороги односторонние) с неотрицательными весами (стоимость дорог не может быть отрицательной). Они разработали новый алгоритм, который быстрее Дейкстры на “разреженных” графах (где дорог не слишком много по сравнению с количеством точек).
В чем прорыв?
Их алгоритм работает за время, которое записывается как *O(m log^(2/3) n)*, где *m* – количество дорог, а *n* – количество точек. Это первое асимптотическое улучшение по сравнению с алгоритмом Дейкстры, который обычно работает за *O(m + n log n)*. Простыми словами, на больших, но не слишком “запутанных” картах их метод работает заметно быстрее.
Как им это удалось, простыми словами?
Вместо того, чтобы всегда искать *абсолютно* ближайшую точку, как это делает Дейкстра, они используют комбинацию двух подходов:
Ключевой момент в том, что им удалось “сократить фронтир” – то есть, уменьшить количество точек, которые нужно держать “на прицеле” для поиска следующего шага, не теряя при этом правильности.
Области применения:
Поиск кратчайших путей – это фундаментальная задача во многих областях:
Применение в работе с данными, платформами данных и федеративными SQL-движках:
Хотя само по себе это алгоритмическое достижение, оно имеет глубокие последствия для систем, работающих с большими графовыми данными:
Важно отметить:
В целом, это значительный теоретический прорыв в области алгоритмов, который открывает двери для повышения эффективности широкого круга реальных приложений, особенно тех, что связаны с обработкой и анализом больших графовых данных.
В мире современных озер данных (Data Lakehouse) связка Trino и Apache Iceberg стала синонимом производительности и гибкости. Но чтобы эта связка работала по-настоящему эффективно, необходим центральный элемент — каталог метаданных. И если раньше выбор был ограничен Hive Metastore или JDBC, то сегодня стандарт де-факто — это REST Catalog API.
REST-каталог — это не просто технология, это идеология. Он отделяет движок запросов от хранилища метаданных, позволяя десяткам инструментов (Trino, Spark, Flink, dbt) работать с данными через единый, универсальный и не зависящий от вендора интерфейс.
Это руководство — погружение во все доступные на рынке REST-каталоги ( почти все ). Мы оценим их готовность к продакшену в Kubernetes, уникальные преимущества и то, как они вписываются в современный стек данных.
Рассмотрим ключевых игроков, их сильные стороны и готовность к бою в продуктивной среде.
Nessie — это каталог, построенный вокруг концепции Git. Он позволяет создавать ветки, коммитить и сливать изменения данных так же, как вы это делаете с кодом.
Gravitino — это амбициозный проект под эгидой Apache Foundation, нацеленный на то, чтобы стать единым центром метаданных для всей компании.
Amoro фокусируется на решении одной из главных проблем озер данных — оптимизации хранения.
Lakekeeper — это новый игрок, написанный на Rust, с абсолютным фокусом на безопасности, управлении доступом и интеграции с облаками.
Denali от Bodo.ai — это антитеза сложным enterprise-системам. Его философия — максимальная простота и производительность.
Tabular — это не open-source проект, а полностью управляемый SaaS-продукт от сооснователей Apache Iceberg.
| Каталог | Стек | Ключевое преимущество | Готовность к PROD в K8s | Лучше всего для... |
| :--- | :--- | :--- | :--- | :--- |
| Project Nessie | Java | Git-версионирование данных | ✅ Высокая (Helm Chart) | Команд, внедряющих DataOps и CI/CD для данных. |
| Apache Gravitino | Java | Федерация и универсальность (ClickHouse, Kafka) | ✅ Средняя (требует настройки) | Сложных гетерогенных enterprise-сред. |
| Apache Amoro | Java | Автоматическая оптимизация | ✅ Высокая | Высоконагруженных озер данных с постоянной записью. |
| Lakekeeper | Rust | Безопасность и Governance (Vended Credentials) | ✅✅ Очень высокая (Native K8s) | Компаний с высокими требованиями к безопасности. |
| Denali | Go | Простота и производительность | ✅ Высокая (легковесный контейнер) | Гибких команд, ценящих минимализм и скорость. |
| Tabular | SaaS | Нулевое администрирование | N/A (SaaS) | Всех, кто хочет готовое решение “под ключ”. |
| Apache Polaris | --- | --- | --- | --- |
| Databricks Unity Catalog | --- | --- | --- | --- |
Независимо от выбора каталога, конфигурация Trino остается простой и декларативной.
# etc/catalog/my_iceberg_catalog.properties
connector.name=iceberg
iceberg.catalog.type=rest
# URI вашего REST-сервиса
iceberg.rest-catalog.uri=http://lakekeeper-service.default.svc.cluster.local:8181/catalog
# Путь к хранилищу по умолчанию
iceberg.rest-catalog.warehouse=s3://my-warehouse/
# Настройки безопасности (пример для OAuth2)
iceberg.rest-catalog.security=OAUTH2
iceberg.rest-catalog.oauth2.token=<your-token>Выбор REST-каталога — это стратегическое решение, которое определит гибкость и масштабируемость вашей платформы данных.
Эпоха привязки к одному инструменту прошла, поэтому ждем Cedrus Catalog с батарейками и свистелками 🤪REST-каталоги дают свободу, а Trino, и не только — возможность этой свободой воспользоваться. Выбирайте оружие по своей задаче и стройте по-настоящему открытый и мощный Data Lakehouse 🏡
ps: Конечно печатала ИИ, может не очень объективно давать оценки, но список хороший. Я ей помогал, как мог.
Ссылки:
https://github.com/projectnessie/nessie – https://projectnessie.org
https://github.com/apache/gravitino – https://gravitino.apache.org
https://github.com/apache/amoro – https://amoro.apache.org
https://github.com/lakekeeper/lakekeeper – https://docs.lakekeeper.io
https://github.com/apache/polaris – https://polaris.apache.org
https://github.com/unitycatalog/unitycatalog – https://unitycatalog.io
Все это можно быстро и просто запустить тут: https://www.ploomber.io
В современной науке о данных и разработке искусственного интеллекта недостаточно просто создать модель в Jupyter Notebook ( о нем вы уже знаете ) . Настоящая ценность раскрывается, когда результатами можно поделиться, когда модели становятся интерактивными и когда они надежно развернуты в производственной среде. Для решения этих задач появилось множество фреймворков, каждый со своими сильными сторонами и философией.
В этой статье мы рассмотрим и оценим ключевые инструменты, которые позволяют дата-сайентистам и ML-инженерам создавать веб-приложения, чат-ботов, API, отчеты и управлять жизненным циклом моделей.
Это самая многочисленная группа, предназначенная для быстрого превращения данных и моделей в интерактивные пользовательские интерфейсы без необходимости глубокого изучения фронтенд-технологий.
Описание и назначение: Streamlit — это, возможно, самый популярный фреймворк для быстрого создания data-приложений. Его философия — превратить скрипты в красивые веб-интерфейсы с минимальными усилиями. Приложение работает по простой модели: скрипт выполняется сверху вниз при каждом взаимодействии пользователя, что упрощает управление состоянием.
Особенности и оценка:
Описание и назначение: Dash от создателей Plotly — это мощный фреймворк для создания аналитических веб-приложений. Он использует Flask, Plotly.js и React.js под капотом, предоставляя Python-разработчикам доступ к современным веб-технологиям.
Особенности и оценка:
Описание и назначение: Solara позволяет создавать веб-приложения на чистом Python, используя компонентный подход, похожий на React. Он построен на базе Ipywidgets и может работать как в Jupyter Notebook, так и в виде самостоятельных приложений.
Особенности и оценка:
Описание и назначение: Gradio создан для невероятно быстрого создания демо для моделей машинного обучения. Всего за несколько строк кода можно обернуть любую Python-функцию (например, предсказание модели) в простой веб-интерфейс.
Особенности и оценка:
Описание и назначение: Shiny, легендарный фреймворк из мира R, теперь доступен и для Python. Он использует реактивную модель программирования, где изменения во входных данных автоматически вызывают пересчет связанных с ними выходных данных. Shiny Express — это его более легковесная версия в стиле Streamlit, позволяющая создавать приложения декларативно.
Особенности и оценка:
Описание и назначение: Panel — это мощный фреймворк из экосистемы HoloViz. Его главная особенность — совместимость практически с любой библиотекой для визуализации в Python. Он позволяет объединять виджеты и графики в гибкие макеты.
Особенности и оценка:
---
Эти инструменты фокусируются на серверной части, производительности и управлении жизненным циклом моделей.
Описание и назначение: FastAPI — это современный, высокопроизводительный веб-фреймворк для создания API на Python. Он стал де-факто стандартом для развертывания моделей машинного обучения в виде REST API благодаря своей скорости, автоматической документации и использованию стандартных аннотаций типов Python.
Особенности и оценка:
Описание и назначение: vLLM — это не UI-фреймворк, а высокопроизводительная библиотека для инференса (выполнения) больших языковых моделей (LLM). Ее главная цель — максимально увеличить пропускную способность при обслуживании LLM.
Особенности и оценка:
Описание и назначение: MLflow — это платформа с открытым исходным кодом для управления полным жизненным циклом машинного обучения. Он включает в себя компоненты для отслеживания экспериментов (Tracking), упаковки кода (Projects), управления моделями (Models) и их развертывания (Registry).
Особенности и оценка:
---
Эти инструменты меняют представление о статических отчетах и ноутбуках, делая их интерактивными и воспроизводимыми.
Описание и назначение: Quarto — это система публикации научных и технических документов нового поколения от Posit. Она позволяет создавать динамические документы и презентации из Jupyter-ноутбуков или простого Markdown, смешанного с кодом на Python, R или Julia.
Особенности и оценка:
Описание и назначение: Marimo — это реактивная среда для Python, которая решает многие проблемы традиционных Jupyter-ноутбуков. В Marimo ноутбук — это интерактивное веб-приложение. Изменение в одной ячейке автоматически обновляет все зависимые ячейки.
Особенности и оценка:
---
marimo is an open-source reactive notebook for Python — reproducible, Git-friendly, AI-native, SQL built-in, executable as a script, shareable as an app.
Ставим скорее..
pip install marimo && marimo tutorial introНу и small data тоже любит тетрадки https://duckdb.org/docs/stable/guides/python/marimo
в общим долго рассказывать, но штука модная и крутая :) потом еще расскажу
про bi as a code можно посмотреть тут: https://gavrilov.info/all/samye-populyarnye-instrumenty-biznes-analitiki-na-osnove-koda-ob/
А тут есть пример использования iceberg каталога R2 c Marimo https://developers.cloudflare.com/r2/data-catalog/get-started/
А так в него можно добавить AI
UW PICO 5.09 File: /Users/yuriygavrilov/.config/marimo/marimo.toml
[completion]
activate_on_typing = true
copilot = "custom"
api_key = "sk-GIkXXXXXXXXXX"
model = "openai/o1"
base_url = "https://openai.api.proxyapi.ru/v1"и чуть ниже так..
[ai.open_ai]
api_key = "sk-GIkXXXXXXXXXX"
model = "openai/o1"
base_url = "https://openai.api.proxyapi.ru/v1"
Но как полечить это я еще не разгадал:
[E 250811 22:03:05 tools:173] Failed to get MCP tools: mcp is required for MCP server connections.а пока усложняем задачу.
Хех, работает :)
Кстати уже писал про Bi as Code тут https://gavrilov.info/all/samye-populyarnye-instrumenty-biznes-analitiki-na-osnove-koda-ob/
Но будет полезно еще почитать по WASM контейнеры и запуст их в браузере, так как вся эта история на них хорошо работает, Evidence.dev например.
UPD: https://a.gavrilov.info/my_app2/dist/ – тут можно посмотреть экспортированную демо тетрадку в формате wasm с хостингом на s3
Экспортируются тетрадки так:
uv run marimo export html-wasm markdown-format1.md -o my_app2/dist --include-cloudflare --mode runПотом просто надо загрузить папку my_app2 в нужную директорию в все будет работать.
А вот еще пример генерации кода c ИИ
Тут можно посмотреть пример барчата https://a.gavrilov.info/my_app3/dist/
Джей Крепс
Оригинальные идеи и рекомендации книги:
Стоило бы дополнить (2023-2024):
---
Представьте себе, что данные – это жизненная сила вашей компании, а IT-инфраструктура – ее тело. Тогда логи, как это ни парадоксально, стали бы ее кровеносной системой. Они несут информацию от каждой клетки к каждому органу, обеспечивая слаженность и жизнеспособность всего организма.
В эпоху распределенных систем, микросервисов, Big Data и искусственного интеллекта, когда скорость обработки информации определяет конкурентное преимущество, традиционные подходы к интеграции и обработке данных трещат по швам. Книга, которая у вас в руках – это переосмысление ключевых идей Джея Крепса, соавтора Apache Kafka, о том, как “скромный” лог превратился из технической детали в центральный архитектурный примитив.
Мы пройдем путь от понимания природы лога до его применения в масштабных системах, интеграции данных, потоковой обработке и построении отказоустойчивых архитектур. Эта книга не только сохранит оригинальные прозрения, но и дополнит их новейшими практиками, инструментами и опытом, накопленным IT-индустрией за последнее десятилетие. Вы узнаете, как избежать распространенных ошибок и построить по-настоящему гибкую и масштабируемую систему, где данные действительно “текут” свободно.
---
Когда речь заходит о логах, большинство инженеров представляют себе длинные текстовые файлы с отладочной информацией. Однако, как показал Джей Крепс, истинная природа лога гораздо глубже.
Что такое Лог? Глубже, чем кажется.
Представьте себе не просто текстовый файл, а упорядоченную, неизменяемую последовательность записей. Каждая запись добавляется в конец. Это фундаментальное отличие от базы данных, где данные можно изменять “на месте”. В логе ни одна запись не удаляется и не меняется. Вместо этого, новые изменения *добавляются* как новые записи.
Каждая запись в логе имеет уникальный, последовательно возрастающий номер, который можно считать её “временем” или “позицией” в потоке. Это ключевое свойство: оно дает нам гарантию порядка.
Принцип State Machine Replication: Волшебство порядка
Это краеугольный камень распределенных систем. Он гласит:
Если два идентичных, детерминированных процесса начинают в одном состоянии и получают одинаковые входные данные в одном и том же порядке, они произведут одинаковый вывод и закончат в одном и том же состоянии.
В этом принцип “лога” критически важен: он обеспечивает “одинаковый порядок” входных данных для всех реплик. Если у вас есть лог всех изменений (событий), вы можете “воспроизвести” этот лог на разных машинах, чтобы они достигли идентичного состояния.
*Пример из практики*: Банковский счет. Вместо хранения одного числа (текущий баланс), мы храним лог всех транзакций: “снятие 1000 руб.”, “поступление 5000 руб.”. Текущий баланс – это всего лишь функция, которая суммирует все записи в логе до текущего момента. Если банк “забудет” состояние баланса, он всегда может его восстановить, проиграв лог всех транзакций.
Логи в базах данных: Невидимый двигатель
Внутри любой надежной реляционной базы данных или NoSQL-хранилища уже давно работает лог: `commit log` или `transaction log`. Он гарантирует, что даже при сбое системы, транзакции не будут потеряны, а данные останутся согласованными (свойства ACID). Механизмы репликации баз данных (например, бинарные логи MySQL или WAL PostgreSQL) – это по сути потоковая передача записей из такого лога. Это и есть Change Data Capture (CDC) – захват изменений данных.
Дополнение (2023-2024):
Ошибки, которых стоит избегать:
---
Одна из самых болезненных проблем в больших компаниях – это интеграция данных. Исторически это решалось кастомными ETL (Extract, Transform, Load) пайплайнами, где каждая система “говорила” с каждой. Такая модель приводит к экспоненциальному росту сложности (N² соединений для N систем).
Централизованная шина событий: Революция в интеграции
Идея Крепса: вместо N² соединений, создайте универсальный централизованный лог, который будет выступать в роли “шины событий” или “артерии данных”.
```mermaid
graph LR
A[Система 1 (Продюсер)] -- Публикует --> C(Центральный Лог)
B[Система 2 (Продюсер)] -- Публикует --> C
C -- Потребляет --> D[Система A (Потребитель)]
C -- Потребляет --> E[Система B (Потребитель)]
C -- Потребляет --> F[Система C (Потребитель)]
```Вместо множества прямых соединений между A-D, A-E, A-F, B-D, B-E, B-F, мы получаем лишь несколько соединений к центральному логу. Сложность снижается с N² до N.
Иерархия потребностей данных по Маслоу (адаптировано Крепсом):
Задача интеграции данных лежит в основе этой иерархии. Логи — это инструмент для её решения.
Дополнение (2023-2024):
Ошибки, которых стоит избегать:
---
Логи и потоковая обработка неотделимы друг от друга. Лог — это естественная модель для потока событий.
Что такое потоковая обработка? Шире, чем кажется.
Крепс расширил определение потоковой обработки. Это не просто “обработка данных по мере их поступления и затем отбрасывание”. Это непрерывная обработка данных, способная выдавать результаты с низкой задержкой, но при этом иметь дело с историческими данными (то есть, лог можно переиграть).
От Lambda к Kappa: Парадокс репроцессинга
Традиционная Lambda-архитектура предполагала два параллельных пути обработки:
Проблема Lambda: Дублирование бизнес-логики. Один и тот же расчет должен быть написан и поддерживаться дважды, на двух разных фреймворках (например, HiveQL/Spark для batch и Flink/Storm для stream). Это приводит к ошибкам, задержкам в разработке и высоким операционным издержкам.
Kappa-архитектура (Преимущество лога): Изобретая колесо заново, но лучше.
Крепс предложил элегантную альтернативу — Kappa-архитектуру, которая устраняет необходимость в отдельном batch-слое. Идея проста:
```mermaid
graph TD
A[Исходный Лог (Kafka)]
B[Старый Processing Job (v1)]
C[Новый Processing Job (v2)]
A -- Читает с offset 0 --> C
A -- Читает с текущего offset --> B
B -- Записывает в --> D[Старая Выходная Таблица]
C -- Записывает в --> E[Новая Выходная Таблица]
F[Приложение]-->D
subgraph Reprocessing
C
end
subgraph Switch
direction LR
F --> G[Переключить на E]
G --> H[Удалить D, остановить B]
end
```Дополнение (2023-2024):
Ошибки, которых стоит избегать:
---
Помимо интеграции и потоковой обработки, логи играют решающую роль в построении самих распределенных систем, упрощая их внутреннюю архитектуру.
Паттерн “Сервис = Лог + Serving Layer”
В этом паттерне логика сервиса разделяется на две основные части:
```mermaid
graph TD
A[Client] --> B[API Gateway/Микросервис записи]
B -- Записывает событие/изменение --> C(Центральный Лог)
C -- Подписывается --> D[Serving Layer 1 (напр. Elasticsearch)]
C -- Подписывается --> E[Serving Layer 2 (напр. Redis Cache)]
C -- Подписывается --> F[Serving Layer 3 (напр. Data Warehouse)]
A -- Читает --> D
A -- Читает --> E
```Преимущества такой архитектуры:
Log Compaction: Компактирование истории
Не всегда нужно хранить полную историю каждого изменения. Например, если вы отслеживаете текущее местоположение курьера, вам нужна только *последняя* координата, а не весь его путь.
Дополнение (2023-2024):
Ошибки, которых стоит избегать:
---
Лог, будучи “источником истины” и “кровеносной системой” данных, требует самого высокого уровня внимания к безопасности, надежности и операционной эффективности.
Безопасность (Security): Доверяй, но проверяй
Надежность (Reliability): Будьте готовы ко всему
Операционная Эффективность (Operational Efficiency): Не замедляйтесь
Дополнение (2023-2024): Chaos Engineering
---
Мы проделали большой путь, от понимания фундаментальной природы лога до его роли в современных распределенных системах, интеграции данных и потоковой обработке. Лог — это не просто техническая деталь, а стратегический актив, который позволяет вашей компании быть по-настоящему “data-driven”.
Краткие выводы:
Ваш пошаговый план к Data-Driven Архитектуре, управляемой логами:
---
Эпилог: Лог – это не просто техническая деталь, а отражение бизнес-процессов. Каждая запись – атом вашей организационной ДНК. Превратите хаос данных в нарратив, где каждая транзакция – это предложение, а каждый поток – глава вашей бизнес-истории, благодаря надежной и гибкой кровеносной системе, управляемой логами.
https://openai.com/open-models/
Для большой модели надо h100, а маленькая попроще и требует всего 16gb.
Ну и главное: удаляем сразу, если заметим, что клянчит деньги и просит купить меня :)
А вот квенчик красавчик: ai molodca)
но он знал ))
почти
trinking...
...
But the trick is that when "А" fell, it becomes "а" (lowercase?), but maybe not. Wait, another angle: in Russian, the phrase "А упала" could be a pun. Because "упала" means fell, but "а" is also the word for "and" in some contexts, but here it's the letter. Wait, maybe the answer is that only the "и" (which means "and") is left? Because the sentence is "А и Б сидели на трубе": A and B were sitting on the pipe. So the letters A, the word "и" (and), and B. So if A fell and B disappeared, then the "и" is left. Because the "и" is part of the phrase. Wait, that's a common riddle. Let me confirm.
...Недавняя статья компании YADRO на Хабре, “Где живут LLM”, стала редким и ценным окном в реальную практику построения корпоративного инференс-кластера. Команда не только поделилась своей архитектурой, но и честно рассказала о проблемах, что делает их опыт вдвойне полезным. Спасибо им за это!
🚀🚀🚀 https://habr.com/ru/companies/yadro/articles/930304/
Их кейс можно брать за основу, давайте разберем его и проведем небольшой анализ стека для работы с LLM — от низкоуровневых движков на GPU до low-code платформ для конечных пользователей. Этот разбор покажет, почему определенные технологические решения становятся стандартом и что необходимо для построения не просто работающей, а по-настоящему эффективной и масштабируемой AI-экосистемы.
В основе кластера YADRO лежат проверенные и мощные компоненты, ставшие индустриальным стандартом:
Ключевым и очень показательным решением стал выбор vLLM вместо, казалось бы, более нативного для NVIDIA Triton Inference Server. Аргументация YADRO проста и прагматична: с vLLM «намного проще добавлять новые модели», и он «изначально предоставляет OpenAI-совместимые REST API».
Это идеально отражает главный тренд в LLM Serving. Triton — это универсальная рабочая лошадка, мощная, но требующая серьезной подготовки: конвертации моделей в форматы вроде TensorRT и часто создания дополнительной «обвязки» для предоставления удобного API. vLLM, напротив, это специализированный инструмент, заточенный именно под LLM. Благодаря своей ключевой инновации — PagedAttention, которая кардинально оптимизирует управление памятью для KV-кэша, — он обеспечивает высочайшую пропускную способность и простоту использования «из коробки».
Переход от тестов к эксплуатации всегда вскрывает «узкие места». Опыт YADRO — прекрасное тому подтверждение.
Самый мощный бэкенд бесполезен без удобного доступа. YADRO упоминают, что предоставили пользователям интерфейсы через Dify и собственный WebUI, что выводит нас на уровень приложений и пользовательского опыта.
Чтобы LLM стали повседневным инструментом, их нужно встроить в рабочую среду разработчиков. YADRO верно отмечают ключевые компоненты этого уровня:
Кстати у litellm.ai есть демка их прокси сервера заходим Username: admin Password: sk-1234
https://demo.litellm.ai/ui
Опыт YADRO — это отличный срез современной инженерной практики в области LLM. Его комплексный анализ позволяет сформировать полную картину production-ready AI-экосистемы, которая состоит из нескольких ключевых слоев:
Таким образом, создание «дома для LLM» — это далеко не только развертывание моделей на GPU. Это выстраивание целостной, многоуровневой системы, где каждый слой решает свою задачу, обеспечивая производительность, надежность и, в конечном итоге, ценность для бизнеса.
Оригинал тут: RAW Hollow – революция в управлении данными от Netflix
Или тут 👉 https://hollow.how/raw-hollow-sigmod.pdf
Представьте, что Netflix — это огромный магазин, который показывает фильмы и сериалы миллионам людей по всему миру. Чтобы этот магазин работал быстро и без сбоев, ему нужно хранить и мгновенно выдавать огромное количество информации: кто что смотрит, какие фильмы доступны, какую обложку показывать, какие настройки у пользователя и так далее.
Традиционные методы хранения данных (базы данных) бывают медленными, когда нужно получать данные очень-очень быстро, или сложными, когда их очень много и они постоянно меняются. Например, когда вы заходите посмотреть что-то, Netflix должен мгновенно понять, что вам показать на основе ваших предпочтений и доступного контента. Обычные базы данных могут не справляться с такой скоростью и объемом запросов.
---
RAW Hollow от Netflix представляет собой парадигмальный сдвиг в проектировании высокопроизводительных, распределенных систем управления данными для сценариев с малым и средним объемом данных. Он демонстрирует, как глубокое понимание компромиссов CAP-теоремы и инновационный подход к ко-локации данных в памяти могут обеспечить беспрецедентную комбинацию экстремально низкой задержки чтения, высокой доступности и гибко настраиваемой согласованности. Эта технология является эталоном для создания отказоустойчивых и масштабируемых микросервисов, особенно в условиях, где традиционные базы данных становятся узким местом. Успешное развертывание в критически важных сервисах Netflix подтверждает зрелость и применимость подхода RAW Hollow в реальных производственных средах. Это не просто инструмент, а архитектурный паттерн, который будет влиять на будущее распределенных систем.
---
Внедрение системы, подобной RAW Hollow, требует глубокой экспертизы в распределенных системах и серьезных инженерных ресурсов. Вот шаги, которые должны предпринять компании, сталкивающиеся с аналогичными проблемами:
В конечном итоге, использование или вдохновение RAW Hollow подходит тем, кто хочет получить сверхвысокую производительность чтения данных, сопоставимую с локальным доступом к памяти, при этом работая с распределенными системами и умеренными объемами данных, и готов к более сложной архитектуре по сравнению с использованием готовых баз данных.
Оригинал тут: British Airways: Кошмар на Новоселье
Статья Евгения Кагановича, управляющего партнера APT Group, “British Airways: Кошмар на Новоселье” детально описывает катастрофическое открытие Терминала 5 (Т5) аэропорта Хитроу 28 марта 2008 года. Этот инцидент, получивший широкую огласку и вызвавший парламентские слушания, стал ярким примером того, как даже самый тщательный планирование и миллиардные инвестиции могут обернуться провалом из-за целого комплекса взаимосвязанных проблем. История Т5 и British Airways (BA) является поучительным кейсом для любого масштабного проекта, подчеркивая важность комплексного тестирования, управления персоналом, интеграции систем и готовности к непредвиденным обстоятельствам.
Статья разделена на несколько глав, которые хронологически описывают события, предшествующие открытию, сам “день открытия” и последствия.
Глава 1: Не пятница, но тринадцатое
Глава 2: Не тринадцатое, но пятница
Глава 3: Ночь перед торжеством
Глава 4: Неидеальный шторм
Глава 5: Пони бегает по кругу
Глава 6: Надежда не умирает никогда
Глава 7: Что делать, когда никто не виноват
Открытие Терминала 5 Хитроу в марте 2008 года стало хрестоматийным примером того, как амбициозный и дорогостоящий проект может обернуться публичным фиаско из-за недооценки кажущихся на первый взгляд незначительных деталей. Коллапс Т5 наглядно продемонстрировал хрупкость сложных систем, где сбой в одном звене, будь то неработающие электронные пропуска, неверно настроенный программный модуль или недостаточное обучение персонала, может вызвать лавинообразные последствия. Это событие подчеркивает важность не только технологического совершенства, но и глубокого понимания человеческого фактора, тщательного тестирования всех мыслимых и немыслимых сценариев, а также полной готовности к оперативному кризисному реагированию. Успешное преодоление кризиса и последующее признание Т5 одним из лучших терминалов мира, а также карьерный рост Вилли Уолша, являются свидетельством того, что из самых серьезных ошибок можно извлечь уроки и добиться успеха, проявляя гибкость, настойчивость и эффективное лидерство. Этот кейс служит напоминанием, что в масштабных проектах не бывает мелочей.