Функциональные языковые реализации хранилищ данных уровня производства - PullRequest
7 голосов
/ 05 февраля 2010

В Эрланге написано много хранилищ данных, например, Riak, Dynomite, CouchDb, Scalaris, я пропустил их?

Я знаю, что Java и C / C ++ также использовались для написания хранилищ данных (Cassandra, Hypertable и т. Д.), Но были ли какие-либо хранилища данных написаны на любых других функциональных языках, таких как F #, Scala, Haskell, Clojure и т. Д.? Причина, по которой я спрашиваю это (и многие другие вопросы о функциональном программировании и типе Эрланга) состоит в том, чтобы оценить выполнимость языков функционального программирования для реальных проектов.

В качестве примечания мне было указано, что я имею в виду фактический язык реализации самого хранилища данных, а не язык клиента для доступа к хранилищу данных (т. Е. Через ODBC).

Ответы [ 4 ]

9 голосов
/ 05 февраля 2010
  1. Data.Tcache - это транзакционный кеш с настраиваемым постоянством для Haskell.
  2. Elephant - это постоянная объектная база данных для Common Lisp с полной семантикой транзакций.
  3. CLSQL - база данных SQL для интерфейса Common Lisp.
  4. AllegroCache - это высокопроизводительная динамическая система баз данных для кэширования объектов для Allegro Common Lisp.
  5. Spark-Scheme поставляется со встроенной базой данных и поддержкой ODBC.
3 голосов
/ 05 февраля 2010

FleetDB - база данных без схемы в Clojure.

3 голосов
/ 05 февраля 2010

В каком-то смысле вы уже ответили на свой вопрос. Системы, о которых вы упомянули, и другие из комментариев, ARE , написанные на функциональных языках и ARE , безусловно, проекты реального мира, поэтому ответ yes .

3 голосов
/ 05 февраля 2010

Ваш вопрос меня немного озадачивает.Вы спрашиваете о хранилищах данных, написанных на различных языках.Обычно, когда я программирую, я ищу библиотеку или API, чтобы получать и помещать данные из хранилища данных в выбранный язык.В чем написано базовое хранилище данных (если оно написано во что-то, некоторые хранилища данных - не более, чем макеты файлов) Мне все равно.

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

...