Фонд Apache (Apache Software Foundation), под эгидой которого разрабатываются такие важные решения, как Hadoop и Spark, объявил о присоединении распределённой реляционной системы управления базами данных Tajo к списку своих основных проектов.
Несмотря на относительную малоизвестность, Tajo — отнюдь не новый проект. Его разработка стартовала около трёх лет назад в университете Кореи, а в марте 2013 года Tajo стала частью Apache Incubator. Более того, это решение внедряют на практике. В число его активных пользователей входит корпорация SK Telecom — один из крупнейших южнокорейских операторов мобильной связи.
Tajo представляет собой распределённую СУБД, построенную на базе Hadoop. Она полностью реализует стандарты ISO и ANSI на язык запросов SQL, применяемый традиционными реляционными СУБД, но за счёт использования Hadoop хранение данных и исполнение запросов без труда распределяется по любому количеству серверов.
Согласно описанию, опубликованному на сайте проекта, Tajo обеспечивает низкую задержку при обработке запросов и поддерживает процесс ETL (Extract-Tranform-Load) — извлечение, подготовку и загрузку информации из внешних источников.
Помимо исходной группы разработчиков из университета Кореи, в создании Tajo принимают участие специалисты LinkedIn и компании Hortonworks.
Tajo — не единственное решение такого рода. За последние пару лет собственной реализацией SQL, работающей поверх Hadoop, обзавелись многие компании, специализирующиеся на «больших данных». Подобные СУБД разрабатывают в IBM, Cloudera и Pivotal. Инженеры Facebook создали несколько распределённых реляционных СУБД: от Hive, реализующего упрощённое подмножество команд SQL, до Presto, появившегося в конце прошлого года и поддерживающего SQL уже без всяких скидок.
Это демонстрирует, что бум NoSQL, продолжавшийся в течение нескольких лет, если не подходит к концу, то по крайней мере переходит в другую стадию. В своё время концепция NoSQL появилась как реакция на сложность масштабирования традиционных реляционных СУБД. Отказ от некоторых возможностей SQL упростил масштабирование, но вызвал другие проблемы. Преодоление этих проблем и привело к созданию таких продуктов, как Hive, Presto или Tajo, которые сохраняют большую часть достоинств NoSQL, не жертвуя при этом и достоинствами SQL.