Вопрос

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

Это было полезно?

Решение

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

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

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

  • CouchDB это нереляционная база данных.Они называют это базой данных, ориентированной на документы.
  • Amazon SimpleDB это также нереляционная база данных, доступ к которой осуществляется распределенным образом через веб-сервис.У Amazon также есть распределенный магазин ключей и значений под названием Динамо - машина, который питает некоторые из его сервисов S3.
  • Динамит и Кай это решения с открытым исходным кодом, вдохновленные Amazon Dynamo.
  • Большой стол это запатентованное решение для хранения данных, используемое Google и реализованное с использованием их технологии Google File System.Платформа Google MapReduce использует BigTable.
  • Хадуп это технология с открытым исходным кодом, вдохновленная Google MapReduce и удовлетворяющая аналогичную потребность в распределении работы очень крупномасштабных хранилищ данных.
  • Скалярис представляет собой распределенное транзакционное хранилище ключей / значений.Также не реляционный и не использует SQL.Это исследовательский проект Института Цузе в Берлине, Германия.
  • РДФ это стандарт хранения семантических данных, в котором данные и метаданные взаимозаменяемы.У него есть свой собственный язык запросов SPARQL, который внешне напоминает SQL, но на самом деле совершенно другой.
  • Вертика это масштабируемая аналитическая база данных, ориентированная на столбцы, разработанная для распределенной (grid) архитектуры.Он утверждает, что является реляционным и совместимым с SQL.Его можно использовать через Elastic Compute Cloud от Amazon.
  • Зеленый Сливовый это крупномасштабная СУБД для хранения данных, которая реализует как MapReduce, так и SQL.
  • XML это вообще не СУБД, это формат обмена данными.Но некоторые продукты СУБД работают с данными в формате XML.
  • ОДБМ, или Объектные базы данных, предназначены для управления сложными данными.Похоже, что в мейнстриме нет каких-либо доминирующих продуктов ODBMS, возможно, из-за отсутствия стандартизации.Стандартный SQL постепенно приобретает некоторые функции OO (напримеррасширяемые типы данных и таблицы).
  • Моросящий дождь это реляционная база данных, большая часть кода которой заимствована из MySQL.Она включает в себя различные архитектурные изменения, предназначенные для управления данными в масштабируемой архитектуре системы "облачных вычислений".Предположительно, он продолжит использовать стандартный SQL с некоторыми улучшениями MySQL.
  • Кассандра это масштабируемое, в конечном итоге согласованное, распределенное, структурированное хранилище ключей и значений, разработанное в Facebook одним из авторов Amazon Dynamo и внесшее свой вклад в проект Apache.
  • Проект " Волан - де - Морт " это нереляционная распределенная система хранения ключей-значений.Он используется при LinkedIn.com
  • База данных Беркли тоже заслуживает некоторого упоминания.Это не "новое поколение", потому что оно появилось в начале 1990-х годов.Это популярное хранилище ключей и значений, которое легко встраивать в различные приложения.В настоящее время эта технология принадлежит Oracle Corp .

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

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

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

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


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

Другие советы

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

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

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

  1. ключ‐значение‐кэш

    • сохраненный в памяти
    • перепакованный
    • согласованность
    • 
инфиниспан
    • Экстремальный масштаб
    • 
кэш jboss
    • скорость
    • терракотовая плитка

  2. ключ‐значение‐хранилище

    • 
пространство ключей
    • 
вспышка
    • без схемы
    • 
РАМКлауд

  3. в конечном итоге‐согласованное хранилище ключей‐значений

    • динамо - машина
    • 
волдеморт
    • 
Динамит
    • 
Вложенная запись
    • 
MongoDB
    • 
Ласточкин Хвостdb
  4. упорядоченный‐ключ‐значение‐хранилище

    • токийский тиран
    • облако света
    • 
NMDB
    • люксио
    • 
memcachedb
    • 
актер

  5. сервер структур данных

    • редис

  6. кортеж‐хранилище

    • гигантские пространства
    • 
координация
    • 
река апачи
  7. база данных объектов

    • ZopeDB
    • db4o
    • 
Отмель

  8. хранилище документов

    • CouchDB
    • Монго
    • 
Заяц
    • 
Базы данных XML
    • 
Трудб
    • 
Облачный набор
    • 
Упорствовать
    • 
Риак Басе
    • 
Скалярис

  9. широкий столбчатый магазин

    • Большой стол
    • Hbase - база данных
    • Кассандра
    • Гипертабильный
    • КАЙ
    • 
Открытый доступ

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

Что касается языка SQL как надлежащей реализации реляционной модели, я цитирую википедию: «SQL, изначально выдвинутый в качестве стандартного языка для реляционных баз данных, в нескольких местах отличается от реляционной модели. Текущий стандарт ISO SQL не упоминает реляционную модель и не использует реляционные термины или понятия. Однако можно создать базу данных, соответствующую реляционной модели, с использованием SQL, если не используются определенные функции SQL. & Quot;

http://en.wikipedia.org/wiki/Relational_model (упоминается в раздел «SQL и реляционная модель» от 28 марта 2010 г.

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

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

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

Может быть, «новый (-ish) sql» сработает (см. http: //en.wikipedia .org / вики / ООСУБД )

Я также слышал о NimbusDB от Джима Старки

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

кто работает на Vulcan (форк Firebird)

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top