Heim > Web-Frontend > js-Tutorial > Assassin ⚡️ – Eine kostenlose Open-Source-Datenbank zum Töten langsamer Webseiten

Assassin ⚡️ – Eine kostenlose Open-Source-Datenbank zum Töten langsamer Webseiten

DDD
Freigeben: 2025-01-06 03:24:48
Original
798 Leute haben es durchsucht

Assassin ⚡️ - Töte langsame Webseiten

Assassin beendet Datenbanktransaktionen, die die Benutzeroberfläche blockieren.

Datenbankvorgänge können langsam sein, aber keine vorhandenen Datenbanken lösen dieses Problem auf die offensichtliche Weise: Schwierige Aufgaben an Web-Worker auslagern.

Assassin ⚡️ - An open source, free database for killing slow webpages

Ich wollte eine Datenbank erstellen, die Folgendes ist:

  • Open Source
  • Responsive
  • Dezentral
  • Optimiert für Web-Worker
  • Entwickelt für privates Surfen

Deshalb habe ich meine eigene Datenbank mit JavaScript erstellt.

Merkmale ?

? Leichtgewicht: Wird mit weniger als 100 Zeilen clientseitigem Code ausgeliefert.

⚖️ Dezentralisiert: Ihre Datenbank hat keinen Single Point of Failure. Wenn der Server ausfällt, können Ihre Daten problemlos wiederhergestellt werden.

? Funktioniert beim privaten Surfen: Ich habe Datenbanken wie LevelDB, PouchDB und Gun recherchiert, die für die clientseitige Speicherung auf IndexedDB basieren. Ich wollte, dass diese Datenbanken effektiv sind, aber letztendlich habe ich diese Datenbank teilweise deshalb erstellt, weil IndexedDB beim privaten Surfen deaktiviert ist, was bedeutet, dass keine dieser Datenbanken für mich funktioniert.

Methoden:

  • killer.connect(url) – Mit dem Server verbinden.
  • killer.create(key,value) – Füge einen Eintrag zur Datenbank hinzu.
  • killer.update(key,new value) – Aktualisiert den Wert eines Schlüssels in der Datenbank.
  • killer.delete(key) – Einen Eintrag in der Datenbank löschen.
  • Lesen Sie die Datenbank – Innerhalb eines Web-Workers oder des Hauptthreads können Sie über die Variable „Datenbank“ auf die Datenbank zugreifen.

Architektur:

  • Datenmodell: Assassin ist ein Schlüssel-/Wertspeicher, der die Zuordnung eines Schlüssels zu seinem entsprechenden Wert unterstützt.
  • Systemarchitektur: Das DAT-Protokoll verteilt und hostet Daten zwischen vielen Computern, sodass es keinen einzigen Ort gibt, an dem Daten gespeichert werden. Assassin verlässt sich für die Datenpersistenz auf das DAT-Protokoll. Die Metadaten der Schlüssel-Wert-Paare werden in einer verteilten Trie-Struktur gespeichert.
  • Isolationsstufen: Die Isolationsstufe wird vom Endbenutzer der Datenbank bestimmt. Assassin ist auf eine niedrige Isolationsstufe ausgelegt.
  • Speichermodell: Assassin sendet Daten an den Server, der die Metadaten dann im verteilten Dateisystem Hyperdrive speichert, das auf dem DAT-Protokoll basiert. Die Daten selbst werden zwischen mehreren Peers verteilt und gehostet.
  • Hohe Verfügbarkeit: Assassin ist hochverfügbar und letztendlich konsistent. Assassin speichert bei Konflikten immer die letzten Änderungen an der Datenbank. Dieses CRDT kann sich später ändern.

Warum heißt es Assassin?

  • Meine persönliche Website nutzt derzeit die Waffendatenbank.
  • Gun hat viele Funktionen, die mir gefallen, und der Gründer ist ziemlich nett.
  • Die Waffe funktioniert bei mir nicht mehr.
  • Guns Speicheradapter RAD basiert auf IndexedDB, das im privaten Surfen deaktiviert ist.
  • Gun synchronisiert Daten Peer-to-Peer über WebRTC, was in Web Workern nicht funktioniert.
  • Assassin ist ein bisschen (im Ernst, sehr wenig) wie Gun, aber für Web-Worker.
  • Waffenarbeiter = Attentäter ?

Gebaut mit ?

  • Hyperdrive – Vielen Dank für den Aufbau einer Abstraktionsschicht auf dem DAT-Protokoll!
  • HTML – Zum Erstellen der Webdemo
  • CSS – Zum Gestalten der Webdemo
  • JavaScript – Für Logik
  • Node.js – Um der Logik zu dienen

Teilen Sie unbedingt Ihre Meinung zu:

  • das Assassin GitHub-Repository
  • der Gitter-Server

Und wenn Sie wirklich dazu beitragen möchten, Assassin besser zu machen, tragen Sie zum GitHub-Repo bei!

Assassin ist Open Source und wird es auch immer sein.

Unterstützen Sie mich bei:

  • Ko-Fi

Markieren Sie das Repo auf GitHub, twittern Sie und teilen Sie es mit Ihren Freunden, Teams und Kontakten!

Das obige ist der detaillierte Inhalt vonAssassin ⚡️ – Eine kostenlose Open-Source-Datenbank zum Töten langsamer Webseiten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage