Когда-то давно, когда все базы данных были реляционными и поддерживали SQL, программисты Java (почти) не заботились о типе базы данных, которую они собирались использовать. Это было достигнуто за счет использования драйверов JDBC – программного обеспечения, которое взаимодействует с конкретной базой данных, предоставляя стандартный API для прикладного уровня.
Мир изменился после изобретения баз данных NoSQL. Эти базы данных имеют некоторые преимущества по сравнению с традиционными реляционными базами данных, но они не имеют общего интерфейса. Поэтому их использование требует написания специального прикладного кода для каждой базы данных.
Aerospike – популярная, быстрая, зрелая база данных NoSQL. Он предоставляет клиентские библиотеки для различных систем и языков, включая Java. Эти библиотеки помогают реализовывать приложения, использующие Aerospike DB. Однако код приложения, использующего эту библиотеку, должен быть специфичным для Aerospike.
Драйвер Aerospike JDBC позволяет пользователям подключаться к базе данных Aerospike напрямую из любого приложения, поддерживающего стандартное подключение JDBC.
Это драйвер JDBC. Он может использоваться любым приложением, совместимым с JDBC, например пользовательским интерфейсом, мониторингом, запросами и другими инструментами общего назначения. Он поддерживает стандартные инструкции и функции SQL и может использоваться разработчиками, специалистами по контролю качества, аналитиками данных и инженерами DevOps. Это может помочь, если кто-то хочет перенести свое приложение из реляционной базы данных в Aerospike.
В этой статье будут кратко перечислены ключевые функции драйвера. В следующих статьях этой серии будут подробно объяснены конкретные особенности.
DDL
СОЗДАТЬ ПАДЕНИЕ ИНДЕКСА индекс
DML
вставлять
выбирать
ОБНОВЛЕНИЕ
удалить
ГДЕ
– использование PK или любого другого столбца и их комбинации, включая вычисления, круглые скобки и т.д. ПРИСОЕДИНИТЬСЯ
, СЛЕВА ПРИСОЕДИНИТЬСЯ СГРУППИРОВАТЬ ПО`
Драйвер поддерживает все основные типы Aerospike (целое число, строка, байты, double), сопоставляя их с типами JDBC ( ЦЕЛОЕ число
, VARCHAR
, БОЛЬШОЙ ДВОИЧНЫЙ ОБЪЕКТ
, DOUBLE
) соответственно и соответствующие типы java ( int
, Строка
, байт []
, двойной
). Также поддерживаются списки и карты аэроспайков. Они сопоставляются с JDBC java.sql. Массив
и java.util. Карта соответственно.
Кроме того, драйвер может хранить и извлекать объекты java, используя любой стандартный механизм сериализации java (для Serializable
или Экстернализуемые
классы) или с использованием пользовательской сериализации/десериализации), включенной определяемыми пользователем функциями .
В запросах могут использоваться математические выражения:
выберите first_name, last_name, year()-год_о_рождения в качестве возраста у людей
Встроенные функции
- функции агрегирования:
count()
,max()
,min()
,sum()
,среднее значение()
- строковые функции:
str()
,concat()
,ucase()
,lcase()
,len()
, reverse() и т.д. - функции даты/времени:
сейчас()
,год()
,месяц()
,день()
и т.д.
Определяемые пользователем функции
Драйвер предоставляет множество встроенных функций. Более того, его можно легко расширить. Пользователь может реализовать свои собственные функции на Java и зарегистрировать их с помощью параметров подключения JDBC.
Проект доступен в GitHub .
В следующей статье этой серии будет объяснено соответствие драйвера SQL.
Оригинал: “https://dev.to/alexradzin/introduction-to-the-aerospike-jdbc-driver-51m4”