6 repository-uri
Non-blocking data access patterns that return results as asynchronous publishers or streams.
Distinct from High-Performance Search Tools: No candidates cover the specific reactive/non-blocking nature of search workflows.
Explore 6 awesome GitHub repositories matching data & databases · Reactive Data Streams. Refine with filters or upvote what's useful.
Acest proiect este o implementare de referință care oferă o colecție de exemple practice pentru tiparele de acces la date și abstractizările de repository în ecosistemul Spring Data. Acesta servește drept vitrină cuprinzătoare pentru implementarea straturilor de date consistente în diverse baze de date relaționale și non-relaționale. Repository-ul demonstrează în mod specific persistența multi-store prin integrarea bazelor de date relaționale, document și vectoriale într-o singură aplicație. Include implementări pentru căutarea vectorială pentru a gestiona embedding-uri de înaltă dimensiune și căutări de similaritate între diferite tehnologii de baze de date. Capabilitățile suplimentare acoperite includ accesul reactiv la date pentru operațiuni non-blocking și fluxuri de date asincrone. Proiectul oferă, de asemenea, îndrumări privind optimizarea imaginilor native pentru a îmbunătăți performanța de pornire și utilizarea memoriei prin compilare ahead-of-time. Exemplele ilustrează în continuare izolarea datelor multi-tenant, designul API-urilor de repository de date și integrarea căutării geospațiale și full-text.
Implements non-blocking data access patterns that return results as asynchronous publishers or streams.
Ignite este o platformă distribuită de calcul și grid de date în memorie. Acesta funcționează ca o bază de date SQL distribuită și un motor de stocare conceput pentru a stoca și procesa seturi mari de date în RAM pentru a minimiza latența și a crește viteza de calcul. Sistemul se distinge printr-un motor de stocare pe mai multe niveluri care gestionează plasarea datelor în memorie și pe disc pentru a echilibra accesul de mare viteză cu capacitatea mare. Dispune de un grid de calcul distribuit care execută logica personalizată direct pe nodurile unde rezidă datele pentru a reduce traficul de rețea. Platforma oferă un set larg de capabilități, inclusiv gestionarea tranzacțiilor ACID, interogarea SQL standard și operațiuni cheie-valoare. Suportă ingestia de date de mare volum prin fluxuri reactive și oferă integrare prin mai multe limbaje de programare, drivere de baze de date standard și un API REST. Sistemul poate fi implementat ca un cluster distribuit folosind containere sau orchestrat prin Kubernetes. Proiectul este scris în Java și poate fi instalat prin arhive binare.
Uses backpressure mechanisms to load high volumes of data stably during bulk imports.
Acest proiect oferă o specificație formală și un set de interfețe Java standard pentru procesarea fluxurilor asincrone. Definește un protocol standardizat pentru transmiterea secvențelor de elemente între publisheri și subscriberi pe diferite thread-uri, concentrându-se pe o specificație de fluxuri reactive pentru JVM. Proiectul se concentrează pe interoperabilitate prin furnizarea unui API comun care permite diferitelor biblioteci de streaming asincron să lucreze împreună. Acest lucru este realizat printr-un set standard de interfețe și mecanisme de bridging care traduc între specificații de streaming incompatibile. Specificația acoperă un protocol de backpressure non-blocant pentru a regla fluxul de date și a preveni supraîncărcarea sistemului, solicitând subscriberilor să semnaleze cererea. De asemenea, definește ciclul de viață al fluxurilor, inclusiv gestionarea abonamentelor, procesarea elementelor și terminarea bazată pe semnale pentru curățarea resurselor. Proiectul include un framework pentru verificarea comportamentului fluxului, pentru a valida logica de procesare în raport cu regulile pentru backpressure și evenimente asincrone.
Provides the standard Java interfaces for asynchronous stream processing with non-blocking backpressure.
DBFlow este o bibliotecă de mapare obiect-relațională (ORM) pentru Android care mapează obiectele Java în baze de date SQLite. Servește ca un strat de persistență conceput pentru a reduce codul boilerplate manual prin accesul automatizat la baza de date și maparea entităților. Proiectul se distinge printr-un query builder sigur din punct de vedere al tipurilor (type-safe) care utilizează o interfață fluidă pentru a construi interogări cu verificări la momentul compilării. Oferă criptare transparentă la nivel de fișier pentru securizarea datelor sensibile și un wrapper reactiv care transmite schimbările bazei de date către abonați pentru actualizări în timp real. Capabilitățile suplimentare includ execuția asincronă a interogărilor pentru a preveni blocarea thread-ului principal al aplicației și paginarea bazată pe chunk-uri pentru încărcarea seturilor mari de date. Biblioteca utilizează generarea de cod bazată pe adnotări pentru a automatiza crearea infrastructurii bazei de date.
Provides non-blocking data access patterns that stream database changes to subscribers.
ObjectBox Java is an embedded NoSQL object database for Java and Android that stores data objects directly without relational mapping. It functions as a native-process storage engine, allowing applications to persist plain Java or Kotlin classes as entities. The project distinguishes itself with an on-device vector database capability, utilizing HNSW indexes to perform approximate nearest neighbor searches and semantic similarity queries. It also includes a locally hosted web-based browser for visualizing data objects, schemas, and dependency diagrams. The database covers a broad range of da
Converts database subscriptions into asynchronous data streams to drive reactive user interface updates.
Spring Data Elasticsearch is a data access library that maps Java objects to Elasticsearch indices. It functions as an object mapper, a repository abstraction, and a query DSL wrapper, providing both a standard and a reactive client for executing asynchronous search and persistence operations. The project distinguishes itself by automating data access through repository interfaces, which generate query logic based on method naming conventions. It enables the construction of complex search queries using a domain-specific language and supports advanced search capabilities such as vector similar
Executes non-blocking data operations and streams search results as asynchronous sequences.