Ivan Begtin
7.98K subscribers
1.81K photos
3 videos
101 files
4.52K links
I write about Open Data, Data Engineering, Government, Privacy, Digital Preservation and other gov related and tech stuff.

Founder of Dateno https://dateno.io

Telegram @ibegtin
Facebook - https://facebook.com/ibegtin
Secure contacts ivan@begtin.tech
Download Telegram
В рубрике полезных инструментов работы с данными CSVFiddle [1] сервис по разбору CSV файлов из проекта DucksDb. Он построен на базе DucksDB-Wasm [2] для аналитики прямо в браузере и использует функцию read_csv_auto [3] полезную фичу DucksDb по разбору CSV файлов практически любого типа. Что особенно актуально для разбора CSV файлов экспортированных из Excel когда до колонок с данными есть всякие другие записи. Довольно частая ситуация.

CSVFiddle умеет разбирать такие данные и позволяет прямо в браузере работать с ними с помощью SQL запросов.

Я, кстати, кажется ничего не писал про DuckDB [4], а это такая весьма интересная OLAP СУБД как замена SQLite для аналитической работы. Задач для применения масса, а ещё умеет импортировать Parquet файлы.

Делает его команда исследователей из Centrum Wiskunde & Informatica в Амстердаме, год назад они создали DuckDb Labs [5], коммерческую компанию. Меня удивляет что они до сих пор не привлекли никакого венчурного финансирования, впрочем, может ещё привлекут.

Ссылки:
[1] https://csvfiddle.io
[2] https://duckdb.org/2021/10/29/duckdb-wasm.html
[3] https://duckdb.org/docs/data/csv#read_csv_auto-function
[4] https://duckdb.org/
[5] https://duckdblabs.com/news/spin-off-company-DuckDB-Labs/

#opensource #datatools #csv #dbms
Команда Clickhouse выложила ClickBench [1] методологию, инструмент и результаты сравнения аналитических баз данных. Сравнивают много что: Aurora, Athena, Clickhouse, MySQL, Druid, Greenplum и тд. Около 30 разных продуктов в разных конфигурациях.

Что особенно хорошо - методология и реализация с открытым кодом [2] При этом по թ-м из 4-х метрик Clickhouse лидирует: Hot Run и Storage Size, по остальным находит в лидерах, уступая Snowflake по Cold Run и Athena по Load Time. Ценно также в отображении проблем которые возникают у многих движков в работе с большим объёмом данных.

Для тех кто выбирает инструмент для построения аналитического продукта это сравнение будет весьма полезным.

Но, всегда важно помнить ограничения, несмотря на хорошую проработку бенчмарка, странно не увидеть в нём прямых конкурентов Clickhouse вроде Starrocks, которые ещё недавно писали что превосходят Clickhouse по производительности [3].

Ссылки:
[1] https://benchmark.clickhouse.com/
[2] https://github.com/ClickHouse/ClickBench/
[3] https://starrocks.com/blog/benchmark-test

#datatools #dbms #data #benchmarks #clickhouse
В рубрике интересных стартапов в рынке данных компания Dgraph [1] создатели одноимённой графовой NoSQL системы управления базами данных с открытым кодом. Буквально только что они подняли раунд инвестиций на $6M [2] под их продукт Dgraph Cloud.

Фаундеры обещают обновить команду проекта, уже наняли нового CTO [3] и новый релиз этим летом.

В основе Dgraph собственной движок СУБД с родной поддержкой GraphQL и языком запросов DQL (Dgraph query language) на основе всё того же GraphQL и расширяющий его возможности.

В сравнениях они приводят другие NoSQL продукты, например, Neo4J и MongoDB [4], в свою пользу, конечно.

Я бы сказал так, GraphQL - это интересная концепция, язык запросов и альтернатива SQL, но "серебряной пулей" не является до сих пор.

Из достоинств Dgraph - это зрелость как продукта с открытым кодом и, на удивление, хорошо и подробно написанная документация.

Сама бизнес модель уже привычная. Берем зрелый продукт с открытым кодом и делаем облачный сервис. Причем они продают не собственное облако, а обслуживание dedicated servers на облаках других провайдеров.

Ссылки:
[1] https://dgraph.io
[2] https://dgraph.io/blog/post/funding-20220720/
[3] https://discuss.dgraph.io/t/new-funding-announcement/17377
[4] https://dgraph.io/comparison/

#opensource #clouds #nosql #dbms #data #datatools
В рубрике интересных наборов данных база музейных коллекций собираемая проектом Dolthub [1]. Для тех кто не знает, Dolthub - это онлайн проект в виде специальным образом масштабируемой базы SQL с возможностями Git, а то есть с управлением версиями и операциями над данными похожими на операции с исходным кодом.

Dolthub на регулярной основе запускают кампании по краудсорсингу баз данных по определенным темам. Например, цены на госпитальные услуги в США или реестр юрлиц, опять же в США. Больше на специальной странице Bounties [2] у них на сайте.

Причём здесь открытые данные? Собираемые данные доступны под лицензией Creative Commons Zero, но за их сбор команда проекта выплачивает призы. Сами данные доступны не только через их интерфейс, но и через git'оподобные команды такие как 'dolt clone dolthub/museum-collections' как раз для вот этой базы музейных коллекций.

Dolthub не является сверхпопулярным продуктом, о нём, на самом деле, не так много кто знает. Они одновременно находятся в рынке облачных баз данных и в рынке каталогов данных. Непонятно выживут ли они с такой бизнес моделью, но безусловно очень хорошо что они инвестируют в доступность данных и открытые данные.

Ссылки:
[1] https://www.dolthub.com/repositories/dolthub/museum-collections/doc/main
[2] https://www.dolthub.com/bounties

#opendata #datasets #datacatalogs #dbms
Системы управления базами данных о которых, либо уже не помнят, либо ещё не знают, те что совсем не на слуху:
- BaseX [1] СУБД для XML документов с поддержкой языка запросов XQuery 3.1. Используется в ряде унаследованных систем которые строились вокруг XML
- eXist-db [2] также XML база данных с поддержкой XQuery как языка запросов. Возможно более популярная чем BaseX, но, в целом, также в основном в унаследованных системах.
- Metakit [3] популярная когда-то в корпоративных приложениях внедряемая база данных. Имела свой упрощённый язык запросов, очень была похожа на прообраз документальных баз данных, хотя и тогда там были только плоские таблицы. Перестало развиваться примерно 15 лет назад.
- Datomic [4] достаточно давняя проприетарная, более 10 лет, СУБД с поддержкой запросов с помощью языка Datalog. Теперь существует только в виде облачного и дорого on-prem продукта. Тут ещё можно вспомнить что автор продукта Rich Hickey, создатель языка Clojure
- TerminusDb [5] относительно новая графовая СУБД с поддержкой RDF и использующая внутри WOQL (web object query language) язык запросов основанный на Datalog. Лично я так и не понял есть у этой СУБД какие-либо реальные ключевые фичи из-за которых хотелось бы хотя бы протестировать, но ничего такого не нашёл. Хотя клиенты у них есть, в академической среде кое-где её используют.р
- ArcadeDB [6] сравнительно новая NoSQL база данных созданная автором OrientDB после его увольнения из SAP. Изначально Native Graph Database, но также реализуют MongoDB совместимый интерфейс и, в целом, 5 языков запросов: MongoDB, Cyther, GraphQL, Gremlin, SQL. Хороший кандидат на замену MongoDB если пройдет тесты на производительность

Ссылки:
[1] https://basex.org
[2] http://www.exist-db.org
[3] https://www.equi4.com/metakit/
[4] https://www.datomic.com/
[5] https://terminusdb.com/products/terminusdb/
[6] https://arcadedb.com/

#datatools #dbms #data
В рубрике интересных инструментов по работе с данными.

PipeRider [1] - движок с открытым кодом по автоматизации оценки качества данных. Позволяет писать простые правила оценки типов данных, количества, максимальных и минимальных значений и многое другое. Поддерживает пока только три SQL СУБД: Postgres, Sqlite и Snowflake. Делается тайваньской компанией InfuseAI [2] с прицелом на облачную монетизацию в сервисе PipeRider Cloud, который они обещают вскоре выпустить. В целом выглядит как конкурент Soda, стоит потратить время для дополнительного изучения.

ByteBase [3] система управления изменениями в СУБД и версиями с открытым кодом. Существует в виде открытого кода и облачного сервиса, в облачном сервисе предлагают поддержку с SLA. Главное что позволяет - это подходы Database-as-Code и GitOps.
Поддерживает MySQL, Postgres, Clickhouse, TiDB и Snowflake. Они уже несколько месяцев стремительно набирают звёзды на Github'е [4]. Основатели выходцы из Google, часть команды находится в Шанхае. По данным в Crunchbase привлекли инвестиций на $3M, основной инвестор китайцы в Matrix China Partners. Для компаний внутри которых базы данных имеют клиентов/потребителей такой инструмент будет полезен.

QuestDB [5] быстрая база для временных рядов с открытым кодом, сами они пишут что быстрейшая, но это ещё надо проверять/доказать. Есть те кто сомневаются что QuestDB быстрее Clickhouse [6], тем не менее конкуренция присутствует. Создается одноименной компанией получившей $14.3M инвестиций из которых $12M в прошлом году. Самая очевидная применимость в сборе логов, данных сенсоров и разного рода телеметрии.

Ссылки:
[1] https://www.piperider.io/
[2] https://www.infuseai.io/
[3] https://www.bytebase.com/
[4] https://star-history.com/#bytebase/bytebase&Date
[5] https://questdb.io/
[6] https://telegra.ph/No-QuestDB-is-not-Faster-than-ClickHouse-06-15

#opensource #dbms #dbtools #data #startups
Интересные базы данных созданные на территории пост-СССР. В случае некоторых продуктов их авторы могли в последние годы переехать, но можно говорить что создавать их они начинали до переезда:
- Unum [1] облачная СУБД и её вариант с открытым кодом, создана в Ереване (Армения), одноименной компанией. Про инвестиции ничего неизвестно, в бенчмарках утверждают [2] что производительность выше чем у RocksDb, LevelsDb и др. լավ արված !
- OrioleDb [3] как я понимаю происхождение у проекта из Республики Беларусь, это движок для PostgreSQL повышающий эффективность использования в облаках (cloud-native).
- Akumuli [4] база для временных рядов с открытым кодом. Как я понимаю автор перестал ей заниматься примерно 2 года назад.
- SednaXML [5] некогда известная российская XML СУБД, поначалу интересная, но что-то случилось и материалы не обновлялись более 11 лет
- Datascript [6] СУБД с открытым кодом с поддержкой Datalog'а для Clojure и JavaScript
- Tarantool [7] хорошо известная СУБД от команды из Mail.ru (VK). С корпоративными и частными внедрениями и подробной документацией.
- YDB [8] распределенная отказоустойчивая СУБД от Яндекса используемая во многих внутренних продуктах
- EJDB [9] внедряемая NoSQL система управления базами данных, похожая на NoSQL. В основном под мобильные устройства.

Какие-то мог пропустить, основатели каких-то проектов могли переехать. Если есть что добавить, обязательно напишите!

Ссылки:
[1] https://unum.cloud/
[2] https://unum.cloud/post/2021-11-25-ycsb/
[3] https://github.com/orioledb/orioledb/
[4] https://akumuli.org
[5] https://www.sedna.org/
[6] https://github.com/tonsky/datascript
[7] https://www.tarantool.io/ru/
[8] https://ydb.tech/
[9] https://ejdb.org/

#dbms #russia #postussr #datatools #data
Для тех кто пользуется MongoDB и постоянно ищет альтернативы, OxideDB [1] эмуляция MongoDB поверх PostgreSQL. Внутри движок которые запихивает объёкты документов в тип JSON для PostgreSQL и умеет конвертировать запросы MongօDB (язык MQL) в сложные SELECT.

Это не первая попытка проделать такое, эмулировать интерфейсы MongoDB в других СУБД и определенно эта попытка внимания заслуживает.

Зачем это нужно?
Две важнейшие причины:
1. Недооткрытый код MongoDB под SSPL лицензией. Для открытых сообществ - это как красная тряпка, для инфраструктурного бизнеса это ограничитель к облачному применению.
2. MongoDB далеко не оптимально по производительности, а тут возможность использовать наработки других СУБД.
3. Многим хочется иметь SQL и NoSQL сразу из коробки и давать удобные инструменты для каждой команды.

Ссылки:
[1] https://github.com/fcoury/oxide

#opensource #dbms #datatools #nosql #mongodb
Команда Clickhouse, создателей одной из лучших аналитических СУБД, запустили бета версию облачной версии продукта [1]. Сейчас облако работает с поминутной тарификацией на базе инфраструктуры AWS․ Главное достоинство в том что продукт непосредственно от команды разработчиков Clickhouse, а значит можно надеяться на лучшую производительность и техническую поддержку.

При том что кластеры на Clickhouse существуют уже много где. Например, в Яндекс облаке [2] с ежесуточной и ежемесячной тарификацией и в самом AWS [3].

Clickhouse не единственная СУБД для аналитики в реальном времени на базе которой создаются DBAAS (database-as-a-service) продукты. Например, команда их менее популярного, но близкого по производительности, конкурента StarRocks анонсировали появление их облака в 3-м квартале 2022 г. [4]. 3-й квартал вот только что прошёл, ждём когда же можно будет увидеть обещанное.

А я напомню интересную штуку от Clickhouse по открытым замерам производительности баз данных [5] с весьма неплохим их сравнением.

Ссылки:
[1] https://clickhouse.com/blog/clickhouse-cloud-public-beta
[2] https://cloud.yandex.com/en/services/managed-clickhouse
[3] https://aws.amazon.com/ru/quickstart/architecture/clickhouse-cluster/
[4] https://starrocks.io/blog/starrocks-launches-the-industrys-fastest-cloud-native-real-time-analytics-engine
[5] https://benchmark.clickhouse.com

#opensource #startups #dbms #clickhouse
Интересный текст про сжатие данных и эволюцию DuckDB в этом направлении [1]․ Если вкратце, то текст о том как разработчики DuckDB организовали хранение данных улучшив за полтора года его примерно в 3 раза.

Для CSV файла в 17ГБ в версии 0.2.8 от июля 2021 г. данные занимали 15.3ГБ, а текущей версии они занимают порядка 4.8ГБ.

Для того чтобы обеспечить это сжатие разработчики использовали новый алгоритм Chimp [2] для сжатия чисел с плавающей запятой.

Это ниже чем сжатие алгоритмами Zstd или Snappy, но, важно помнить что сжатие в DuckDB обеспечивается практически без потери производительности.

Это важно поскольку DuckDB - это весьма перспективная SQL OLAP база данных, предназначенная для оптимизации аналитических расчётов.

Сам подход такого сжатия, ориентированного на быструю декомпрессию данных, весьма любопытен и наверняка переносим на другие продукты, многие из которых также используют похожий алгоритм Gorilla [3], на базе которого и построен алгоритм Chimp.

В обоих случаях числа сжимаются через специально подобранные операции основанные на XOR и повторяемости значений в битах чисел с плавающей запятой.

И, чтобы два раза не вставать, туда же в тему интересных исследований про данные, статья прошлого года в VLDB - DBOS: A DBMS-oriented Operating System [4] о том что вполне возможно построить операционную систему на основе высокопроизводительной базы данных. Подход очень оригинальный, это не просто data-shell, оболочка для работы с OS словно с базой данных и не data API для работы с функциями и настройками ОС через интерфейс API, а прямо таки полноценная ОС. А оно, тем временем, развивается [5] и может быть когда-то появится.

Ссылки:
[1] https://duckdb.org/2022/10/28/lightweight-compression.html
[2] https://www.vldb.org/pvldb/vol15/p3058-liakos.pdf
[3] https://www.vldb.org/pvldb/vol8/p1816-teller.pdf
[4] https://www.vldb.org/pvldb/vol15/p21-skiadopoulos.pdf
[5] https://dbos-project.github.io/

#dbms #duckdb #olap #dwh
Google выложили в открытый доступ локальную версию СУБД AlloyDB [1] которую в прошлом году сделали доступной как сервис в своём облаке. Теперь можно скачать бесплатную версию для разработчиков и экспериментировать на своём локальном компьютере. Из заявленных фич AlloyDB - это совместимость с PostgreSQL с более чем 2-х кратным ускорением и колоночные таблицы для ускорения ряда типов запросов. Звучит достаточно интересно чтобы попробовать, насколько интересно чтобы делать на это ставку лично я пока сомневаюсь, потому что бесплатная девелоперская версия означает что в продакшн всё равно надо разворачивать на инфраструктуре Google, а это лишь очередная модель облачного vendor lock-in, лично я не люблю такие ограничения, даже при очень интересных технологиях. К тому же исходный код AlloyDB закрыт, контрибьюта в исходный код PostgreSQL также не планируется.

Не могу не напомнить что совместимых с Postgres баз данных множество и многие - это весьма активные стартапы. У Hasura есть перечень таких СУБД с которыми они работают [2], например, Neon, о которых я писал в июле 2022 г. [3], но у Neon переписанный бэкэнд с открытым кодом [4] как и у ряда других Postgres совместимых СУБД.

А вот реализация колоночных таблиц очень напоминает про Clickhouse, StarRocks и др. подобным продуктам и, быть может, в этой фиче Гугл позиционируют AlloyDB как их альтернативу. Но, опять же, выбирая между близкими по производительности продуктами с открытой лицензией и открытым кодом и без оной, с vendor lock-in и без него, выбор очевиден.

Мне лично особенно не нравится облачный vendor lock-in, потому что одно дело если ты можешь купить корпоративную лицензию, но у тебя потом есть время на миграцию, и другое дело когда ты зависишь от создателя продукта не только разрешением на его использование, но и инфраструктурно.

Поэтому возвращаясь к альтернативам, напомню про Citus [5] которые также реализовали колоночное хранилище для Postgres и с открытым кодом, именно его использует Microsoft в Azure Cosmos DB [6].


Ссылки:
[1] https://cloud.google.com/blog/products/databases/run-alloydb-anywhere
[2] https://hasura.io/docs/latest/databases/postgres/index/
[3] https://t.me/begtin/4113
[4] https://github.com/neondatabase/neon
[5] https://www.citusdata.com/
[6] https://learn.microsoft.com/en-us/azure/cosmos-db/postgresql/concepts-columnar

#opensource #dbms #google