À propos de la base de données Oracle NoSQL
Oracle NoSQL Database est une solution robuste offrant un mélange d’interfaces similaires à SQL pour travailler avec des modèles de données NoSQL. Ce système de base de données permet aux développeurs de gérer différents types de données sans problèmes de correspondance d’impédance, notamment des données relationnelles plates, des données hiérarchiques typées et des données JSON sans schéma. La correspondance d’impédance se produit lorsque les différences entre les modèles de base de données et de langage de programmation créent des défis de manipulation des données. Pourtant, Oracle NoSQL élimine cela en offrant une expérience transparente à travers plusieurs structures de données.
Le service cloud Oracle NoSQL Database simplifie le processus de développement, permettant aux développeurs de se concentrer sur la création d’applications plutôt que sur la gestion de l’infrastructure. Il prend en charge les modèles de base de données de documents, de schémas fixes et clé-valeur, offrant des temps de réponse à faible latence, une réplication régionale actif-actif et une scalabilité élastique. Le service est conçu pour s’adapter facilement aux charges de travail dynamiques, offrant des fonctionnalités telles que :
- ACID transactions pour garantir l’intégrité des données
- Scalabilité sans serveur pour des ajustements flexibles de capacité
- Sécurité avec des mesures complètes pour protéger les données
- Modèle de tarification à l’utilisation prenant en charge les modes de capacité à la demande et provisionnée
Ce service cloud est pleinement compatible avec la base de données Oracle NoSQL locale, permettant aux développeurs de basculer entre un environnement cloud et local.
L’une des caractéristiques les plus remarquables d’Oracle NoSQL est sa compatibilité avec SQL, ce qui permet aux développeurs de utiliser une langue de requête familiale dans un contexte NoSQL. C’est un avantage significatif qui réduit l’escalade de difficulté habituelle associée aux bases de données NoSQL, qui exigent souvent des connaissances dans des langages de requête spécialisés. Avec Oracle NoSQL, les développeurs peuvent profiter de la flexibilité d’une base de données NoSQL sans renoncer aux capacités de recherche puissantes et familiales de SQL.
Le Service Cloud Base de Données Oracle NoSQL s’occupe de la gestion interne, ce qui le rend idéal pour les développeurs qui ont besoin d’une solution qui s’échelle facilement tout en réduisant au minimum les frais d’exploitation. Les avantages clés incluent :
- Focus sur le développement d’applications : Les développeurs peuvent se concentrer sur la construction de fonctionnalités sans se soucier de la gestion de serveurs, de stockage ou des mises à jour du logiciel.
- Échelle élastique : La base de données se configure dynamiquement pour adapter la charge de travail, garantissant une performance constante malgré les fluctuations de la demande.
- Ressources prévues : Les utilisateurs définissent les besoins en trafic et en stockage de la base de données à l’avance, et le systèmeajuste automatiquement les ressources pour répondre à ces besoins.
La base de données NoSQL utilise un modèle de données tabulaire, ce qui permet aux développeurs de structurer les données selon leurs besoins tout en conservant des constructions familières telles que les lignes et les clés uniques. Cette flexibilité s’étend à la prise en charge à la fois des transactions à une seule ligne et des scans non transactionnels, ce qui en fait une outil polyvalent pour un large éventail d’applications.
Oracle propose la base de données NoSQL en trois éditions :
- Édition Communautaire (CE) : Distribuée sous la licence Apache 2.0, cette édition est idéale pour les développeurs recherchant une solution open source avec un soutien communautaire.
- Édition Entreprise (EE) : Cette version est fournie avec un support commercial d’Oracle et est licenciée sous la licence commerciale d’Oracle.
- Édition de Base : Une version plus légère et plus simple pour les développeurs qui recherchent les capacités de base de NoSQL sans les fonctionnalités de niveau entreprise.
Outils de Développement et Ecosystème
Oracle fournit divers outils et SDK pour améliorer l’expérience des développeurs, y compris :
- Plugin JetBrains : Un connecteur qui permet aux développeurs d’interagir avec Oracle NoSQL directement depuis les IDEs JetBrains. Vous pouvez explorer le plugin ici : Connecteur de base de données Oracle NoSQL.
- SDKs dans Plusieurs Langues : Oracle offre des SDK pour Java, Python, Node.js et .NET. Vous pouvez explorer les SDK disponibles sur la page GitHub d’Oracle.
- Support de Java SE : Les développeurs travaillant dans l’écosystème Java peuvent bénéficier du support des frameworks Spring et Jakarta EE, incluant l’intégration avec les spécifications Jakarta NoSQL et Jakarta Data via Eclipse JNoSQL.
Challenges
Alors que la base de données Oracle NoSQL offre l’avantage significatif de la compatibilité SQL, il est important de noter qu’elle fonctionne toujours dans un paradigme NoSQL. Cela signifie que même si les développeurs peuvent utiliser des requêtes ressemblant à SQL, une compréhension approfondie des structures de données et des principes NoSQL est toujours nécessaire pour tirer pleinement avantage du système. Des concepts tels que les schémas flexibles, le stockage de documents et les opérations de type clé-valeur exigent un changement dans la manière de modéliser et d’interroger les données par rapport aux bases de données relationnelles traditionnelles. Les développeurs venant d’environnements purement SQL devront apprendre ces concepts NoSQL pour optimiser leurs applications et utiliser la flexibilité offerte par Oracle NoSQL.
Un autre aspect à considérer est l’écosystème croissant autour de Oracle NoSQL. Si la plateforme s’étend rapidement et intègre dans des frameworks Java populaires tels que Jakarta EE, Spring et d’autres outils de développement, elle est encore relativement nouvelle par rapport à certaines bases de données NoSQL établies. En conséquence, la disponibilité d’outils tiers, de plugins et de ressources communautaires est toujours en train de catch-up. Bien que l’investissement d’Oracle dans la plateforme garantisse un soutien solide et un développement continu, il peut falloir du temps avant que l’écosystème atteigne le niveau de maturité des autres bases de données NoSQL plus anciennes. Les développeurs devraient être conscients que, dans certains cas, un développement personnalisé supplémentaire peut être nécessaire pour combler les lacunes dans les outils ou les intégrations qui sont plus aisées à obtenir pour d’autres systèmes NoSQL.
Premiers pas avec Oracle NoSQL
Pour commencer à travailler avec Oracle NoSQL, les développeurs peuvent soit utiliser la solution cloud fournie par Oracle Cloud, soit exécuter la base de données locale via Docker. Pour l’exécution locale, l’ordre suivant Docker peut vous permettre de démarrer :
docker run -d --name oracle-instance -p 8080:8080 ghcr.io/oracle/nosql:latest-ce
Cet ordre configure une instance Oracle NoSQL sur votre machine locale, ce qui facilite le test et le développement d’applications sans avoir à configurer une infrastructure complexe.
Oracle NoSQL intègre parfaitement Java Data et l’écosystème Eclipse JNoSQL. Ci-dessous, un exemple d’application Java montre comment interagir avec Oracle NoSQL en utilisant une simple entité Bière
:
@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;
}
L’interface du dépôt exploite la spécialisation d’Oracle NoSQL pour fournir une expérience de recherche similaire à SQL :
@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);
}
Exécuter cette application permet aux développeurs d’interagir avec Oracle NoSQL, en effectuant des requêtes et en persistant des données en utilisant des constructions Java familières.
Conclusion
La Base de données Oracle NoSQL offre une solution souple et scalable pour les développeurs construisant des applications modernes exigeant une haute disponibilité, une latence basse et la capacité de travailler avec divers modèles de données. Dotée de fonctions telles que la compatible SQL, des services cloud gérés et une large gamme d’outils de développement, Oracle NoSQL offre un environnement complet pour les développeurs débutants et expérimentés. Que ce soit dans le cloud ou local, Oracle NoSQL simplifie le processus de développement, permettant aux développeurs de se concentrer sur la construction de fonctionnalités et sur la livraison de valeur plus rapidement.
Pour de plus amples directives sur l’utilisation d’Oracle NoSQL, veuillez visiter la page GitHub d’Oracle .
Source:
https://dzone.com/articles/oracle-nosql-database-developers-guide