Базы данных следующего поколения

Я изучаю традиционные реляционные базы данных (PostgreSQL), а некоторые исследования я столкнулся с некоторыми новыми типами баз данных. CouchDB, Drizzle и Scalaris, чтобы назвать несколько, какими будут следующие технологии баз данных для решения?

Ответ 1

Я бы сказал, что база данных следующего поколения, а не SQL следующего поколения.

SQL - это язык для запросов и обработки реляционных баз данных. SQL продиктован международным стандартом. Хотя стандарт пересматривается, он, как представляется, всегда работает в рамках парадигмы реляционных баз данных.

Вот несколько новых технологий хранения данных, которые сейчас привлекают внимание:

  • CouchDB - это нереляционная база данных. Они называют это документированной базой данных.
  • Amazon SimpleDB также является нереляционной базой данных, доступной распределенным образом через веб-службу. Amazon также имеет распределенное хранилище ключей с именем Dynamo, которое предоставляет некоторые из своих услуг S3.
  • Dynomite и Кай являются решениями с открытым исходным кодом, вдохновленными Amazon Dynamo.
  • BigTable - это запатентованное решение для хранения данных, используемое Google, и реализовано с использованием технологии Google File System. Рамка Google MapReduce использует BigTable.
  • Hadoop - это технология с открытым исходным кодом, основанная на Google MapReduce и служащая аналогичной потребностью для распространения работа с крупномасштабными хранилищами данных.
  • Scalaris - это распределенный транзакционный ключ/хранилище значений. Также не является реляционным и не использует SQL. Это исследовательский проект Института Zuse в Берлине, Германия.
  • RDF является стандартом для хранения семантических данных, в которых данные и метаданные взаимозаменяемы. Он имеет свой собственный язык запросов SPARQL, который внешне внешне напоминает SQL, но на самом деле совершенно другой.
  • Vertica - это высоко масштабируемая аналитическая база данных, ориентированная на столбцы, предназначенная для распределенной (сетки) архитектуры. Он утверждает, что он реляционный и SQL-совместимый. Он может использоваться через Amazon Elastic Compute Cloud.
  • Greenplum - это высокопроизводительная СУБД для хранения данных, которая реализует как MapReduce, так и SQL.
  • XML не является СУБД вообще, это обменный формат. Но некоторые продукты СУБД работают с данными в формате XML.
  • ODBMS или базы данных объектов предназначены для управления сложными данными. Похоже, что в основной деятельности нет доминирующих продуктов ODBMS, возможно, из-за отсутствия стандартизации. Стандартный SQL постепенно получает некоторые функции OO (например, расширяемые типы данных и таблицы).
  • Drizzle - это реляционная база данных, в которой содержится много кода из MySQL. Он включает в себя различные архитектурные изменения, предназначенные для управления данными в масштабируемой системной архитектуре "облачных вычислений". Предположительно, он будет продолжать использовать стандартный SQL с некоторыми улучшениями MySQL.
  • Cassandra - это высоко масштабируемое, в конечном итоге последовательное, распределенное структурированное хранилище ключей, разработанное в Facebook один из авторов динамовцев Amazon, и внес свой вклад в проект Apache.
  • Проект Voldemort - это нереляционная, распределенная система хранения ключей. Он используется в LinkedIn.com
  • Berkeley DB также заслуживает упоминания. Это не "следующий ген", потому что это относится к началу 1990-х годов. Это популярное хранилище ключей, которое легко встраивается в различные приложения. В настоящее время эта технология принадлежит корпорации Oracle.

Также см. эту замечательную статью Ричарда Джонса: "Anti-RDBMS: список распределенных хранилищ для ключей. " Он более подробно описывает некоторые из этих технологий.

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

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

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


Я написал статью в журнале php | Architect о нововведении нереляционных баз данных и моделировании данных в реляционных или нереляционных базах данных. http://www.phparch.com/magazine/2010-2/september/

Ответ 2

В ответах пока нет графических баз данных. График или сеть объектов распространены в программировании и могут быть полезны и в базах данных. Он может эффективно обрабатывать полуструктурированную и взаимосвязанную информацию. Среди областей, где графовые базы данных приобрели большой интерес, являются семантическая сеть и биоинформатика. RDF упоминается, и на самом деле это язык, который представляет собой график. Здесь несколько указателей на то, что происходит в области базы данных графа:

Я являюсь частью проекта Neo4j, который написан на Java, но имеет привязки к Python, Ruby и Scala как Что ж. Некоторые используют его с помощью Clojure или Groovy/Grails. Существует также инструмент GUI, который развивается.

Ответ 3

Возможно, это не лучшее место для ответа, но я хотел бы поделиться этой таксономией мира noSQL, созданной Стивом Йеном (пожалуйста, найдите его http://de.slideshare.net/northscale/nosqloakland-200911021)

  • ключ-значение кэша

    • Memcached
    • repcached
    • Согласованность
    • в фи nispan
    • eXtremescale
    • jbosscache
    • скорость
    • terracoqa
  • ключ-значение-магазин

    • пространство ключей
    • фл являются
    • без схемы
    • RAMCloud
  • в конечном итоге согласованное хранилище ключей

    • динамо
    • Волдеморт
    • Dynomite
    • SubRecord
    • MongoDb
    • Dovetaildb
  • заказал-ключ-значение-магазин

    • tokyotyrant
    • lightcloud
    • NMDB
    • luxio
    • memcachedb
    • actord
  • сервер структур данных

    • Redis
  • кортеж-магазин

    • GigaSpaces
    • коорд
    • apacheriver
  • база данных объектов

    • ZopeDB
    • db4o
    • Шол
  • хранилище документов

    • CouchDB
    • Монго
    • Jackrabbit
    • XMLDatabases
    • ThruDB
    • CloudKit
    • Perservere
    • RiakBasho
    • Scalaris
  • широкий столбчатый магазин

    • BigTable
    • Hbase
    • Cassandra
    • Hypertable
    • KAI
    • OpenNep

Ответ 4

Для изучения того, какие академические исследования проводятся в области баз данных следующего поколения, обратите внимание на это: http://www.thethirdmanifesto.com/

Что касается языка SQL как правильной реализации реляционной модели, я цитирую из wikipedia: "SQL, первоначально переведенный как стандартный язык для реляционных баз данных, отклоняется от реляционной модели в нескольких местах. не упоминает реляционную модель или не использует реляционные термины или понятия. Однако можно создать базу данных, соответствующую реляционной модели, используя SQL, если не использовать определенные функции SQL.

http://en.wikipedia.org/wiki/Relational_model (Ссылка в разделе "SQL и реляционная модель" от 28 марта 2010 г.

Ответ 5

Не быть педантичным, но я хотел бы отметить, что по крайней мере CouchDB не основан на SQL. И я надеюсь, что SQL следующего поколения сделает SQL намного меньше... уродливым и неинтуитивным.

Ответ 6

Существуют специальные базы данных для XML, такие как MarkLogic и Berkeley XMLDB. Они могут индексировать xml-документы, и можно запросить их с помощью XQuery. Я ожидаю базы данных JSON, возможно, они уже существуют. Был какой-то поисковик, но не смог найти его.

Ответ 7

SQL существует с начала 1970-х годов, поэтому я не думаю, что он скоро уйдет.

Может быть, 'new (-ish) sql' будет oql (см. http://en.wikipedia.org/wiki/ODBMS)

Ответ 8

Я слышал также о NimbusDB от Jim Starkey

Джим Старки - человек, который "создает" Interbase

которые работают на Vulcan (вилка Firebird)

и кто был в начале Falcon для MySQL