Базы данных следующего поколения
Я изучаю традиционные реляционные базы данных (с PostgreSQL) и делая некоторые исследования я столкнулся с некоторыми новыми типами баз данных. CouchDB,дождь и Scalaris чтобы назвать несколько, каковы будут следующие технологии баз данных для решения?
8 ответов:
Я бы сказал следующее поколение база данных, а не SQL следующего поколения.
SQL-это язык запросов и манипулирования реляционными базами данных. SQL-это продиктовано международным стандартом. Хотя стандарт пересматривается, он, по-видимому, всегда работает в рамках парадигмы реляционной базы данных.
вот несколько новых технологий хранения данных, которые получают в настоящее время внимание:
- CouchDB является нереляционной база данных. Они называют это документ-ориентированной базой данных.
- Amazon SimpleDB также является нереляционной базой данных, доступ к которой осуществляется распределенным образом через веб-службу. Amazon также имеет распределенное хранилище ключей под названием "Динамо", который приводит в действие некоторые из своих сервисов S3.
- пузырь и Кай это решения с открытым исходным кодом, вдохновленные Amazon Dynamo.
- BigTable является проприетарным решением для хранения данных, используемым Google и реализованным с использованием технологии файловой системы Google. Платформа MapReduce от Google использует BigTable.
- Hadoop это технология с открытым исходным кодом, вдохновленная MapReduce от Google, и обслуживающая аналогичную потребность, чтобы распространять работу очень крупномасштабных хранилищ данных.
- Scalaris - это распределенное хранилище ключей/значений транзакций. Также не реляционный, и не использует SQL. Это исследовательский проект из Института Цузе в Берлине, Германия.
- RDF является стандартом для хранения семантических данных, в котором данные и метаданные взаимозаменяемы. Он имеет свой собственный язык запросов SPARQL, который внешне напоминает SQL, но на самом деле совершенно другой.
- Vertica и является очень масштабируемым столбцово-ориентированная аналитическая база данных, предназначенная для распределенной (грид) архитектуры. Он утверждает, что является реляционным и совместимым с SQL. Его можно использовать через эластичное вычислительное облако Amazon.
- Greenplum - это крупномасштабная СУБД для хранения данных, которая реализует как MapReduce, так и SQL.
- XML это вообще не СУБД,это формат обмена. Но некоторые продукты СУБД работают с данными в XML формат.
- ODBMS, или объектные базы данных, предназначены для управления сложными данными. Кажется, что нет никаких доминирующих продуктов ODBMS в мейнстриме, возможно, из-за отсутствия стандартизации. Стандартный SQL постепенно приобретает некоторые функции OO (например, расширяемые типы данных и таблицы).
- дождь является реляционной базой данных, черпая много своего кода из MySQL. Она включает в себя различные архитектурные изменения предназначен для управления данными в масштабируемой архитектуре системы "облачных вычислений". Предположительно, он будет продолжать использовать стандартный SQL с некоторыми улучшениями MySQL.
- Кассандра это масштабируемый, в конечном итоге последовательный, распределенный, структурированный магазин ключевых значений, разработанный в Facebook одним из авторов Amazon Dynamo и внесший свой вклад в проект Apache.
- Проект Волдеморт - это нереляционная, распределенная, ключевая система хранения данных. Оно использован на LinkedIn.com
- Berkeley DB тоже заслуживает упоминания. Это не "next-gen", потому что он восходит к началу 1990-х гг. Это популярный магазин ключей, который легко встроить в различные приложения. Технология в настоящее время принадлежит корпорация Oracle
также смотрите эту замечательную статью Ричарда Джонса:"анти-СУБД: список распределенных ключ-значение."Он более подробно описывает некоторые из этих технологий.
реляционные базы данных имеют недостатки, чтобы быть уверенным. Люди утверждают, что они не обрабатывают все требования к моделированию данных со дня его первого введения.
год за годом исследователи придумывают новые способы управления данными для удовлетворения особых требований: либо требования к обработке отношений данных, которые не вписываются в реляционную модель, либо требования к крупномасштабному объему или скорости, которые требуют обработки данных, должны выполняться на распределенных коллекциях серверов, а не на центральных серверах баз данных.
несмотря на то, что эти передовые технологии делают большие вещи для решения специализированной проблемы, для которой они были разработаны, реляционные базы данных по-прежнему являются хорошим решением общего назначения для большинства бизнес-потребностей. SQL никуда не денется.
Я написал статью в php / Architect magazine об инновациях нереляционные базы данных и моделирование данных в реляционных и нереляционных базах данных. http://www.phparch.com/magazine/2010-2/september/
Я скучаю графические базы данных в ответах до сих пор. Граф или сеть объектов являются общими в программировании и могут быть полезны в базах данных, а также. Он может обрабатывать слабоструктурированные и взаимосвязанной информации в эффективный способ. Среди областей, где графовые базы данных получили большой интерес, семантический веб и биоинформатика. RDF был упомянут, и это на самом деле язык, который представляет собой граф. Вот некоторые указатели на то, что происходит в графической базе данных площадь:
- графики-лучшая абстракция базы данных
- Graphd, бэкэнд Freebase
- Neo4j open source graph database engine
- AllegroGraph RDFstore
- слой абстракции Graphdb для биоинформатики
- Graphdb позади направленного края рекомендации двигателя
Я являюсь частью Neo4j проект, который написан на Java, но имеет привязки к Python, Ruby и Scala. Некоторые люди используют его с Clojure или Groovy / Grails. Существует также GUI tool развивается.
может быть, это не лучшее место для ответа, но я хотел бы поделиться этой таксономией мира noSQL, созданной Стивом Йеном (пожалуйста, найдите ее по адресу http://de.slideshare.net/northscale/nosqloakland-200911021)
чтобы посмотреть, какие научные исследования проводятся в области баз данных следующего поколения, взгляните на это:http://www.thethirdmanifesto.com/
Что касается языка SQL как правильной реализации реляционной модели, я цитирую из Википедии: "SQL, первоначально выдвигаемый в качестве стандартного языка для реляционных баз данных, отклоняется от реляционной модели в нескольких местах. В текущем стандарте ISO SQL не упоминается реляционная модель или использование реляционные термины или понятия. Однако можно создать базу данных, соответствующую реляционной модели с использованием SQL, если не использовать определенные функции SQL."
http://en.wikipedia.org/wiki/Relational_model (Ссылка В разделе "SQL и реляционная модель" от 28 марта 2010 года
не быть педантичным, но я хотел бы отметить, что по крайней мере CouchDB не основан на SQL. И я надеюсь, что SQL следующего поколения сделает SQL намного меньше... беглый и неинтуитивный.
существуют специальные базы данных для XML, такие как MarkLogic и Berkeley XMLDB. Они могут индексировать xml-документы, и их можно запросить с помощью XQuery. Я ожидаю, что базы данных JSON, возможно, они уже существуют. Немного погуглил, но не смог найти его.
SQL существует с начала 1970-х годов, поэтому я не думаю, что он скоро исчезнет.
может быть, новый(-иш) в SQL' будет языка oql (см. http://en.wikipedia.org/wiki/ODBMS)