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

Постгрес SQL

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

Оракул

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

Майскл

Для проектов, написанных на PHP, это уже давно стандарт (или его вариант MariaDB). Часто это первая реляционная база данных, с которой знакомятся новые веб-программисты, и она широко представлена ​​в учебных пособиях и других учебных ресурсах. Несмотря на то, что в последние годы популярность решений NoSQL немного сместилась, MySQL остается опорой. Если вы хотите быстро приступить к работе над новым проектом, особенно если вы ожидаете значительной поддержки со стороны интернет-сообщества, MySQL может быть подходящим вариантом.

MSSQL

Собственный вариант SQL Microsoft, MSSQL (часто) является очевидным выбором для любого проекта, основанного на технологии Microsoft. К некоторым настройкам синтаксиса и производительности нужно немного привыкнуть, если вы работаете с другой маркой SQL, но его интеграция с остальной средой, как правило, довольно плавная. Это может быть не самое яркое решение или решение для небольшого проекта с открытым исходным кодом, но с MSSQL трудно действительно ошибиться — это особенно верно для крупных корпоративных проектов или хранилищ данных.

NoSQL

Для больших коллекций данных, которые могут меняться со временем, в последние годы наблюдается значительный рост популярности решений NoSQL (не только SQL). Возможно, наиболее известным вариантом в этой области является Mongo, обычно сочетающийся с архитектурами NodeJS. Cassandra от Apache — еще одно распространенное решение, которое используют некоторые популярные системы BaaS (подробнее об этом позже).
Любители подробностей укажут, что я разделил решения SQL-y выше, но здесь я собрал все решения NoSQL вместе. . Это связано с относительной зарождаемостью систем NoSQL, которые не стали полностью самостоятельными как уникальные друг от друга (но не стесняйтесь спорить со мной об этом!)
Преимущества решения NoSQL включают структурную простоту, и относительная простота обслуживания данных. Для тех, кто имеет опыт работы с реляционными системами, свободная структура данных и необычные требования к запросам могут показаться странными, но их стоит учитывать в ситуациях, когда требуются очень гибкие данные.

Графические базы данных

Если вы знаете, что я имею в виду под графом, то вы знаете, насколько интересна концепция хранения информации таким образом. Базы данных графов отлично подходят для тесно взаимосвязанной информации. Практически все системы баз данных хранят связи между объектами, но с графовой базой данных вы в основном моделируете отношения, и связанная информация для каждого объекта появляется вместе с вами. Базы данных графов отлично подходят для масштабирования, вычислений и высокоматематических систем (например, для моделирования отношений между людьми).

Другие инструменты, которые действуют как базы данных

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

Поиск с обратной индексацией

Решения в этой категории включают Sphinx, SOLR и ElasticSearch от Amazon.

Последние два из них основаны на Apache Lucene, предназначенном для полнотекстового индексирования. По умолчанию Lucene использует файловую систему для хранения, но ее можно настроить для использования базы данных. В своем варианте использования для хранения информации по индексам и извлечения ее на основе запросов он перекрывает некоторые из тех же функций, что и база данных.

Технически Sphinx также является поисковым сервером, и его можно использовать в различных формах баз данных.

BaaS

Серверные системы как услуги технически используют базы данных, чтобы обеспечить основу для использования, но, поскольку они имеют тенденцию абстрагироваться от уровня базы данных, они часто могут выглядеть как базы данных, когда вы их используете. Хорошим примером этого является Apache Usergrid.

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

"Какая система лучше всего подходит для моего проекта?" никогда не бывает простым вопросом, но я надеюсь, что это краткое руководство сделает его немного проще.