Oracle NoSQL Database: Een uitgebreide gids voor ontwikkelaars

Over Oracle NoSQL Database

Oracle NoSQL Database biedt een robuuste oplossing met een mix van SQL-achtige interfaces voor het werken met NoSQL-datamodellen. Dit databasesysteem stelt ontwikkelaars in staat om verschillende gegevenstypen te behandelen zonder impendance mismatch-problemen, inclusief vlakke relationele gegevens, hiërarchische getypeerde gegevens en schema-loze JSON-gegevens. Impendance mismatch treedt op wanneer de verschillen tussen het database en het programmeer_taalmodel gegevenshandeling problemen creëren. Oracle NoSQL maakt dit echter ongedaan door een naadloze ervaring te bieden over meerdere gegevensstructuren.

De Oracle NoSQL Database Cloud Service vereenvoudigt het ontwikkelproces, waardoor ontwikkelaars zich kunnen concentreren op het bouwen van applicaties in plaats van infrastructuur te beheren. Het ondersteunt documenten, vast schema’s en key-value database-modellen, en biedt lage latency-responstijden, actieve-actieve regionale replicatie en elastische schalbaarheid. De service is ontworpen om eenvoudig te schalen met dynamische werklasten en biedt onder andere de volgende functies:

  • ACIDtransacties om de gegevensintegriteit te waarborgen
  • Zonder server schaling voor flexibele capaciteit aanpassingen
  • Veiligheid met uitgebreide maatregelen om gegevens te beschermen
  • Pay-per-use-prijzen die zowel op aanvraag als voorziene capaciteitmodi ondersteunen

Deze clouddienst is volledig compatible met de on-premises Oracle NoSQL Database, waardoor ontwikkelaars kunnen schakelen tussen de cloud en lokale omgevingen.

Eén van de uitstekende functionaliteiten van Oracle NoSQL is haar compatibiliteit met SQL, waardoor ontwikkelaars een bekend querytaal kunnen gebruiken in een NoSQL-context. Dit is een significante voordeel, dat de leer曲线 vermindert die typisch aanwezig is bij NoSQL-databases, die vaak kennis vereisen van speciaal geïsoleerde querytalen. Met Oracle NoSQL kunnen ontwikkelaars de flexibiliteit van een NoSQL database genieten zonder de bekende, krachtige querycapabilities van SQL op te geven.

De Oracle NoSQL Database Cloud Service zorgt voor backendbeheer, waardoor het ideale is voor ontwikkelaars die een oplossing nodig hebben die gemakkelijk schaalbaar is terwijl de operationele kosten minimaal zijn. Belangrijke voordelen omvatten:

  • Focus op toepassingsontwikkeling: Ontwikkelaars kunnen zich concentreren op het bouwen van functionaliteiten zonder zich te druk te maken over het beheren van servers, opslag of software-updates.
  • Elastic schaalbaarheid: De database dynamisch schaalbaar is om aan wijzigingen in de workload te kunnen adapteren, waardoor de prestaties constant blijven terwijl de verwachtingen fluctueren.
  • Geleverde resources: Gebruikers definiëren de doorvoersnelheid en opslagvereisten van de database vooraf, met automatisch aanpassen van resources om deze behoeften te voldoen.

De NoSQL Database gebruikt een tabulaire gegevensmodel, waardoor ontwikkelaars gegevens kunnen structureren naargelang de noden terwijl ze bekende constructies als rijen en unieke sleutels behouden. Deze flexibiliteit strekt zich uit tot het ondersteunen van zowel enkele-regeltransacties als niet-transactieel doorzoeken, waardoor het een nuttig hulpmiddel is voor een breed scala aan toepassingen.

Oracle biedt de NoSQL Database in drie edities aan:

  1. Community Edition (CE): Distribueerd onder de Apache Licentie 2.0, is deze editie ideaal voor ontwikkelaars die een open-source oplossing zoeken die wordt ondersteund door de community.
  2. Enterprise Edition (EE): Deze versie biedt commerciële ondersteuning van Oracle en is gelicenseerd onder de Oracle Commercial License.
  3. Basic Edition: Een lichtere, eenvoudigere versie voor ontwikkelaars die de kernkapabiliteiten van NoSQL zonderEnterpriselijkheden zoeken.

Ontwikkelaartools en Ecosysteem

Oracle biedt een verscheidenheid aan tools en SDK’s om de ontwikkelaarsexperiënte te versterken, inclusief:

  • JetBrains Plugin: Een connector die ontwikkelaars toestaat om rechtstreeks met de Oracle NoSQL Database te communiceren vanuit JetBrains IDEs. U kunt het plugin hier bekijken: Oracle NoSQL Database Connector.
  • SDK’s in Veel talen: Oracle biedt Java, Python, Node.js en .NET SDK’s. U kunt de beschikbare SDK’s hier bekijken: Oracle’s GitHub pagina.
  • Java SE-ondersteuning: Ontwikkelaars die werken in de Java-ecosysteem kunnen profiteren van ondersteuning voor Spring en het Jakarta EE-framework, inclusief integratie met de specificaties van Jakarta NoSQL en Jakarta Data via Eclipse JNoSQL.

Challenges

Hoewel Oracle NoSQL Database het significant voordeel biedt van SQL-compatibiliteit, is het belangrijk om te beseffen dat het nog steeds binnen een NoSQL-paradigma werkt. Dit betekent dat ontwikkelaars, ondanks dat ze SQL-achtige queries kunnen gebruiken, nog steeds een diepgaande begrip van NoSQL-gegevensstructuren en principes nodig hebben om volledig gebruik te maken van het systeem. Concepten zoals flexibele schema’s, documentopslag en key-value-operaties vereisen een verschuiving in hoe gegevens gemodelleerd en bevraagd worden vergeleken met traditionele relationele databases. Ontwikkelaars uit puur SQL-omgevingen zullen deze NoSQL-concepten moeten leren om hun applicaties te optimaliseren en de flexibiliteit die Oracle NoSQL biedt te benutten.

Een andere overweging is de groeiende ecosysteem omgeving rond Oracle NoSQL. terwijl de platform snel uitbreidt en integreert met populaire Java frameworks zoals Jakarta EE, Spring en andere ontwikkelingsgereedschappen, is het nog relatief nieuw vergeleken met sommige gevestigde NoSQL-databassen. Als gevolg hiervan is de beschikbaarheid van derden tools, plugins en community-geleide bronnen nog aan het opkomen. Hoewel Oracles investering in het platform erop duwt dat er steeds betere ondersteuning en groei wordt gegarandeerd, kan het nog even duren voordat het ecosysteem de volwassenheidsoverheid van oudere NoSQL-databassen behaalt. Ontwikkelaars moeten erop letten dat, in sommige gevallen, extra aangepaste ontwikkeling nodig is om de tooling of integraties die voor andere NoSQL-systemen gemakkelijker beschikbaar zijn, aan te vullen.

Beginnen met Oracle NoSQL

Om te beginnen met Oracle NoSQL, kunnen ontwikkelaars een cloud oplossing gebruiken die wordt aangeboden door Oracle Cloud of de database lokaal uitvoeren via Docker. Voor lokale uitvoering kan de volgende Docker-opdracht u op de been helpen:

Shell

 

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

Deze opdracht instel een Oracle NoSQL-instantie op uw lokale machine, wat het testen en ontwikkelen van applicaties makkelijker maakt zonder complexe infrastructuur in te stellen.

Oracle NoSQL integreert naadloos met Jakarta Data en het Eclipse JNoSQL ecosystem. Hieronder is een voorbeeld van een Java-toepassing die toont hoe je met een eenvoudige Beer-entiteit met Oracle NoSQL kan communiceren:

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;
}

De repository interface maakt gebruik van de specialisatie van Oracle NoSQL om een vertrouwde SQL-achtige query ervaring te bieden:

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);
}

Door deze toepassing uit te voeren kunnen ontwikkelaars met Oracle NoSQL omgaan, query’s uitvoeren en gegevens persisteren met behulp van bekende Java constructies.

Conclusie

De Oracle NoSQL Database biedt een flexibele, schaalbare oplossing voor ontwikkelaars die moderne toepassingen bouwen die hoge beschikbaarheid, lage latency en de mogelijkheid tot werken met diverse gegevensmodellen vereisen. Met functies zoals SQL-compatibiliteit, beheerde cloudservices en uitgebreide ontwikkelaarshulpmiddelen biedt Oracle NoSQL een alomvattende omgeving voor zowel beginnende als ervaren ontwikkelaars. Of je nu in de cloud of lokaal deploieert, Oracle NoSQL vereenvoudigt het ontwikkelproces, waardoor ontwikkelaars zich kunnen concentreren op het bouwen van functies en sneller waarde leveren.

Bezoek voor meer gedetailleerde richtlijnen over het werken met Oracle NoSQL Oracle’s GitHub-pagina.

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