Oracle NoSQL Database: всеобъемлющее руководство для разработчиков

О Oracle NoSQL Database

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

Служба Oracle NoSQL Database Cloud упрощает процесс разработки, позволяя разработчикам сосредотачиваться на создании приложений, а не на управлении инфраструктурой. Она поддерживает модели базы данных документооборота, фиксированной схемы и ключ-значение, обеспечивая низкие задержки ответа, активно-активную региональную репликацию и эластичную масштабируемость. Служба спроектирована для легкой масштабируемости с динамической нагрузкой, предлагая такие функции как:

  • ACID-транзакции для обеспечения целостности данных
  • Серверный режим для гибкой настройки мощности
  • Безопасность с комплексными мерами защиты данных
  • Тарификация “по факту использования”, поддерживающая режимы both on-demand и provisioned capacity

Этот облачный сервис полностью совместим с локальной базой данных Oracle NoSQL Database, позволяя разработчикам переключаться между облачной и локальной средами.

Одна из отличительных особенностей Oracle NoSQL — это его совместимость с SQL, что позволяет разработчикам использовать знакомый язык запросов в контексте NoSQL. Это существенное преимущество, снижая изучение парадигмы, обычно связанной с базами данных NoSQL, для которых часто требуется знание специальных языков запросов. С Oracle NoSQL разработчики могут наслаждаться гибкостью базы данных NoSQL, не отказываясь от привычных и мощных способностей запросов SQL.

Сервис облачной базы данных Oracle NoSQL Database берет на себя управление бэкэндом, что идеально подходит для разработчиков, которым нужен способ автоматического масштабирования с минимальными операционными расходами. Ключевыми преимуществами являются:

  • Сосредоточение на разработке приложений: Разработчики могут сосредотачиваться на создании функций, не беспокоясь о управлении серверами, хранилищем или обновлениями программного обеспечения.
  • Эластичное масштабирование: База данных динамически масштабируется для соответствия изменениям нагрузки, обеспечивая стабильную производительность при колебаниях спроса.
  • Заданные ресурсы: Пользователи определяют требуемую пропускную способность и требования к хранилищу базы данных заранее, и система автоматически настраивает ресурсы для соответствия этим требованиям.

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

Oracle предлагает базу данных NoSQL в трех изданиях:

  1. Community Edition (CE): Распространяемая под лицензией Apache 2.0, этот выпуск идеально подходит для разработчиков, ищущих open-source, решение с поддержкой сообщества.
  2. Enterprise Edition (EE): Эта версия поставляется с коммерческой поддержкой от Oracle и лицензируется под лицензией Oracle Commercial License.
  3. Basic Edition: Более легкая и простая версия для разработчиков, ищущих базовые функции NoSQL без предприятийских функций.

Инструменты для разработчиков и экосистема

Oracle предоставляет различные инструменты и SDK для улучшения опыта разработчиков, включая:

  • Плагин JetBrains: Коннектор, который позволяет разработчикам взаимодействовать с базой данных Oracle NoSQL непосредственно из IDE JetBrains. Вы можете изучить плагин здесь: Коннектор базы данных Oracle NoSQL.
  • SDK на различных языках: Oracle предлагает SDK для Java, Python, Node.js и .NET. Вы можете изучить доступные SDK на странице GitHub Oracle.
  • Поддержка Java SE: Разработчики, работающие в экосистеме Java, могут воспользоваться поддержкой фреймворков Spring и Jakarta EE, включая интеграцию с спецификациями Jakarta NoSQL и Jakarta Data с помощью Eclipse JNoSQL.

Вызовы

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

Другой важный момент – это развивающаяся экосистема вокруг Oracle NoSQL.尽管这个平台迅速扩展并集成到流行的Java框架如 Jakarta EE, Spring и других developer tools, она до сих пор сравнительно новая по сравнению с некоторыми устойчивыми NoSQL-базами.鉴于此, наличие третьей сторонних инструментов, плагинов и community-driven ресурсов еще идет на сбой.尽管Oracle вклад в этотlatform ensures ongoing solid support and growth, it may take time before the ecosystem reaches the maturity level of older NoSQL databases. Developers should be aware that, in some cases, additional custom development may be necessary to fill the gaps in tooling or integrations that are more readily available for other NoSQL systems.

Getting Started With Oracle NoSQL

To start working with Oracle NoSQL, developers can either use the cloud solution provided through Oracle Cloud or run the database locally via Docker. For local execution, the following Docker command can get you started:

Shell

 

docker run -d --name oracle-instance -p 8080:8080 ghcr.io/oracle/nosql:latest-ce

This command sets up an Oracle NoSQL instance on your local machine, making testing and developing applications easy without setting up complex infrastructure.

plaintext
Oracle NoSQL гладко интегрируется с Датой Jakarta и экосистемой Eclipse JNoSQL. Ниже приведен пример Java-приложения, демонстрирующий, как взаимодействовать с Oracle NoSQL с помощью простой сущности Beer:

Java

 

@Entity
public class Beer {

    @Id
    private String id;

    @Column
    private String style;

    @Column
    private String hop;

    @Column
    private String malt;

    @Column
    private List<String> comments;

    @Column
    private List<Crew> crew;

    @Column
    private Map<String, Object> data;
}

Интерфейс репозитория использует специализацию Oracle NoSQL для обеспечения знакомого опыта запросов в стиле SQL:

Java

 

@Repository
public interface BeerRepository extends OracleNoSQLRepository<Beer, String> {

    Set<Beer> findByStyle(String style);

    @Query("select * from Beer")
    Set<Beer> query();

    @Find
    @OrderBy("hop")
    CursoredPage<Beer> style(@By("style") String style, PageRequest pageRequest);

    @Query("From Beer where style = ?1")
    List<Beer> jpql(String style);
}

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

Заключение

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

Для более детального руководства по работе с Oracle NoSQL посетите страницу Oracle на GitHub.

Source:
https://dzone.com/articles/oracle-nosql-database-developers-guide