Я изучаю традиционные реляционные базы данных (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 упоминается, и на самом деле это язык, который представляет собой график. Здесь несколько указателей на то, что происходит в области базы данных графа:
- Графы - лучшая абстракция базы данных
- Graphd, бэкэнд Freebase
- Neo4j с открытым исходным кодом для базы данных графа
- AllegroGraph RDFstore
- Уровень абстракции Graphdb для биоинформатики
- Graphdb за движком Directed Edge
Я являюсь частью проекта 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