Maison > interface Web > js tutoriel > Assassin ⚡️ - Une base de données open source et gratuite pour tuer les pages Web lentes

Assassin ⚡️ - Une base de données open source et gratuite pour tuer les pages Web lentes

DDD
Libérer: 2025-01-06 03:24:48
original
827 Les gens l'ont consulté

Assassin ⚡️ - tue les pages Web lentes

Assassin s'efforce de tuer les transactions de base de données qui bloquent l'interface utilisateur.

Les opérations de base de données peuvent être lentes, mais aucune base de données existante ne résout ce problème de la manière évidente : sous-traiter les tâches difficiles à des travailleurs Web.

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

Je voulais créer une base de données qui soit :

  • Open source
  • Réactif
  • Décentralisé
  • Optimisé pour les travailleurs du Web
  • Conçu pour la navigation privée

C'est pourquoi j'ai créé ma propre base de données avec JavaScript.

Caractéristiques ?

? Léger : Livré avec moins de 100 lignes de code côté client.

⚖️ Décentralisé : Votre base de données n'a pas de point de défaillance unique. Si le serveur tombe en panne, vos données sont faciles à récupérer.

? Fonctionne en navigation privée : J'ai recherché des bases de données comme LevelDB, PouchDB et Gun, qui s'appuient sur IndexedDB pour le stockage côté client. Je voulais que ces bases de données soient efficaces, mais j'ai fini par créer cette base de données en partie parce qu'IndexedDB est désactivé en navigation privée, ce qui signifie qu'aucune de ces bases de données ne fonctionne pour moi.

Méthodes :

  • killer.connect(url) - Connectez-vous au serveur.
  • killer.create(key,value) - Ajouter une entrée à la base de données.
  • killer.update(key,new value) - Mettre à jour la valeur d'une clé dans la base de données.
  • killer.delete(key) - Supprimer une entrée dans la base de données.
  • Lire la base de données - Dans un travailleur Web ou dans le thread principal, vous pouvez accéder à la base de données via la variable appelée base de données.

Architecture:

  • Modèle de données : Assassin est un magasin de clé/valeur qui prend en charge le mappage d'une clé à sa valeur correspondante.
  • Architecture du système : Le protocole DAT distribue et héberge les données entre plusieurs ordinateurs, il n'y a donc pas d'emplacement unique où les données sont stockées. Assassin s'appuie sur le protocole DAT pour la persistance des données. Les métadonnées des paires clé-valeur sont stockées dans une structure trie distribuée.
  • Niveaux d'isolement : Le niveau d'isolement est déterminé par l'utilisateur final de la base de données. Assassin est conçu pour avoir un faible niveau d'isolement.
  • Modèle de stockage : Assassin envoie des données au serveur, qui stocke ensuite les métadonnées dans le système de fichiers distribué Hyperdrive, construit sur le protocole DAT. Les données elles-mêmes sont distribuées et hébergées entre plusieurs pairs.
  • Hautement disponible : Assassin est hautement disponible et finalement cohérent. Assassin enregistre toujours les dernières modifications apportées à la base de données en cas de conflit. Ce CRDT pourra évoluer ultérieurement.

Pourquoi s'appelle-t-il Assassin ?

  • Mon site Web personnel utilise actuellement la base de données Gun.
  • Gun a de nombreuses fonctionnalités que j'aime et le fondateur est plutôt sympa.
  • Le pistolet a cessé de fonctionner pour moi.
  • L'adaptateur de stockage RAD de Gun s'appuie sur IndexedDB, qui est désactivé en navigation privée.
  • Gun synchronise les données peer to peer via WebRTC, ce qui ne fonctionne pas dans les Web Workers.
  • Assassin est un peu (sérieusement, très peu) comme Gun mais pour les travailleurs du web.
  • Travailleur d'armes = Assassin ?

Construit avec ?

  • Hyperdrive – Merci d'avoir créé une couche d'abstraction au-dessus du protocole DAT !
  • HTML - Pour créer la démo Web
  • CSS - Pour styliser la démo Web
  • JavaScript - Pour la logique
  • Node.js - Pour servir la logique

Assurez-vous de partager votre opinion sur :

  • le dépôt Assassin GitHub
  • le serveur Gitter

Et si vous voulez vraiment contribuer à améliorer Assassin, contribuez au dépôt GitHub !

Assassin est open source et le sera toujours.

Supportez-moi sur :

  • Ko-Fi

Startez le dépôt sur GitHub, tweetez et partagez-le avec vos amis, équipes et contacts !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal