Замена базы данных sql с помощью akka-persistence - почему этого не происходит?
Есть способы заменить базы данных SQL в Haskell, Clojure:
http://www.datomic.com/ (Clojure)
https://github.com/dmbarbour/haskell-vcache
https://hackage.haskell.org/package/acid-state
Однако я не могу найти библиотеку для этого в Scala, используя akka-persistence.
Интересно, почему?
Я слышал, что https://www.querki.net/ делает нечто подобное ( https://github.com/jducoeur/Querki), но это не библиотека с авторским левом (в отличие от acid-state для Haskell).
Мне интересно, смотрю ли я на это с неправильной точки зрения, мне интересно, почему у других языков есть такие решения, а у Scala, похоже, нет, может быть, есть фундаментальная причина для этого? Я что-то пропустил?
1 ответ
Библиотеки, которые вы упоминаете, делают совершенно разные вещи:
Акка-настойчивость Хранить состояние актера. Если у вас есть актер, который использует внутреннее состояние. Это довольно специализировано.
Кислотное состояние сериализует данные Haskell на диск.
Datomic - это система для переопределения временных данных способом, который не разрушает исходные данные.
Хранилища объектов хорошо работают с динамическими языками, такими как Clojure и Python, поскольку они работают с динамическими данными, которые можно сериализовать на диск.
Мне было гораздо приятнее работать с MongoDB в Python, чем в Scala.
Когда началось движение NoSQL, началось возбуждение, но после использования этих систем некоторые люди поняли, что вы отказываетесь от хороших свойств, которыми обладают базы данных.
Datomic - интересный проект с новыми идеями. Есть клон Scala этого. Не уверен, насколько он стабилен: https://github.com/dwhjames/datomisca