Как стать автором
Обновить

Picodata: вторая жизнь in-memory баз данных

Уровень сложностиСложный
Время на прочтение17 мин
Количество просмотров4K
Всего голосов 31: ↑31 и ↓0+38
Комментарии9

Комментарии 9

Хотелось бы деталей реализации. Пока как все плохо у существующих и как все будет хорошо у нас. Переписать Sqlite на Rust наверно можно, но как повторит тестирование которому Sqlite подвергается? Не говоря уже о PostgreSql

Про детали есть немало отдельных докладов, например на Database Internals Meetup, на нашем youtube канале; ну и в конечном итоге, есть https://github.com/picodata/picodata исходный код.
Мне сложно ответить на следующие тезисы, т.к. sqlite на rust переписывала не Picodata, а Turso, я это привёл в качестве примера того, что открытых компонентов становится больше.

В лицензионном соглашении есть пункт:

"3.2. Условия и порядок выплаты вознаграждения за предоставление права использования Продукта определяются отдельными соглашениями."

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

Это типовая проприетарная лицензия (точнее её шаблон для ознакомления) на коммерческую, фстэк сертифицированную версию ПО. Мы обязательно должны иметь такой шаблон на сайте, т.к. состоим в реестре отечественного ПО. Мне кажется вы совсем мало знаете современную корпоративную практику если предполагаете что лицензия с сайта используется хотя бы в одном корпоративном договоре - обычно условия договора очень жёстко регламентируются заказчиком.

Я ставил в реестр один программный комплекс несколько лет назад и с такой проблемой не сталкивался. Возможно это требование недавно появилось. Если бы ваш сайт был более информативным, то и вопросов не было бы. А так, на странице продукта нет ни фстека, ни гитхаба, ни bsd лицензии. И первое впечатление, что продукт чисто коммерческий и довольно дорогой (обычно так бывает, когда цена скрыта). Мое мнение, вам надо бы доработать сайт, если хотите, чтобы продукт продвигался в массы.

Я думаю противопоставление подхода Picodata и микросервисов несколько искусственное. На мой взгляд запрос на быстрое и надежное транзакционное ядро, в которое можно вынести состояние из сотен сервисов на рынке есть. Обратное тоже верно: вносить в grid абсолютно весь код не выглядит правильным. Особенно если этот код работает с внешними миром с высоким latency.

Что можно вынести в Picodata из микросервисов

  • MQ

  • кеши

  • общие ресурсы требующие конкурентного доступа (привет Redis)

  • менеджмент состоянии, в том числе DAG, Workflow, Inbox и подобные примитивы

Но при этом в микросервисах должно остаться:

  • Интерконнект со сторонними сервисами

  • Высоколатентные операции (например генерация документов)

  • BFF, API Gateway и подобные утилитарные системы.

Я противопоставил два подхода чтобы подсветить насколько больно сегодня может быть разрабатывать хранимые процедуры. Если на одной чаше весов производительность, а на другой - удобство, то побеждает удобство, поэтому подходом IMDG и не пользуются.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий