2016-05-23 17 views
1

Ich begann auf einem kleinen POC und entschloss mich Sails.js einen Versuch :)Mit Sails.js mit AWS DynamoDB .... nicht ideal

Ein Teil des POC wir verwenden DynamoDB seit dem Projekt wollte zu geben wird schließlich eine hohe Skalierbarkeit mit sich bringen, und wir suchen derzeit keinen Vollzeit-MongoDB-Experten.

Wir haben das Modul: https://github.com/gadelkareem/sails-dynamodb

Problem ist, gibt es keine Dokumentation und das Modul funktioniert nicht, obwohl ...

Es ist das Segel ORM scheint für DynamoDB nicht ideal ist und erfordert individuelle DB-Dienste schreiben . Hat jemand Erfahrung damit?

war ich sehr aufgeregt über Segel zu kommen, aber wenn es nicht zulassen, wird uns mit DynamoDB schön spielen es sehr gut, dann könnte, um uns als Option sein ....

Wer mit dieser Erfahrung oder vielleicht etwas, was ich vermisse?

Antwort

0

Sails kommt mit einem ORM namens "Waterline" geladen. Es gibt einige offizielle Waterline-Plugins wie mongodb, postgresql, mysql und dann gibt es einige inoffizielle, die von der Community erstellt wurden. Ich würde jetzt davon ausgehen, dass Dynamo in der zweiten Kategorie ist, da ich noch nie zuvor darauf gestoßen bin. Allerdings würde ich diese Erfahrung nicht als Grund nehmen, Sails.js zu streichen.

Sails.js wurde mit der Absicht erstellt, dass alle seine Komponenten ausgelagert werden können, das heißt, Sie sind nicht an eine bestimmte Vorlagen-Engine, Authentifizierungsbibliotheken etc. gebunden und enthalten Ihre ORM-Wahl.

Die Waterline wird noch aktiv entwickelt, aber sie wird ab Version 12.12.1 geschrieben, um diese Antwort zu schreiben. Es ist noch nicht vollständig da, also wird es noch einige Probleme geben!

Meine Empfehlung? Werfen Sie einen Blick darauf, die Wasserlinie für ein anderes ORM auszuwechseln. Behalten Sie die Flexibilität, die Ihnen Sails bietet, und ändern Sie die Komponente, die nicht Ihren Kriterien entspricht. Es gibt noch viele Vorteile für Segel, die Sie nutzen können.

Vogel könnte Check-out wert sein: https://github.com/ryanfitz/vogels

Wasserlinie Ausschalten: Is there a way to disable waterline and use a different ORM in sails.js?

+0

Vielen Dank für Ihre ausführliche Antwort arbeiten. Es macht Sinn, dass das Auswechseln der Wasserlinie die beste Option ist, damit wir die Flexibilität, die Sails.js bietet, behalten können. – Aaron

1
  1. Einer der wichtigen Plus von vogel ist hervorragend dokumentiert.
  2. Sails-Dynamodb Adapter basierend auf den Vogels, aber nicht alle Funktionen sind in Segel-Dynamodb-Adapter implementiert. Zum Beispiel hat vogels Expression Filter.
  3. Vogels können Tabellen erstellen. Adapter kann nicht. Ein Adapter benötigt ein Duplikationstabellenschema in Segeldateien und dynamodb-Shell.
  4. Vogels hat einige eigene Typen wie UUID-Typ, StringSet, NumberSet, TimeUUID. (Adapter kann es auch verwenden, wenn es Vogels und Joi lib enthält)
  5. Vogels und Adapter haben die gleichen Query (create, update, delete, find) Fähigkeiten.
  6. Adapter ermöglicht, ohne den Code zu ändern, wechseln zu einer anderen Datenbank. Der Adapter kapselt den Verbindungsaufbau zur Datenbank ein.

Fazit - für die meisten Zwecke dieses Adapter für die Arbeit geeignet ist, und muß nicht direkt mit dem Vogel

Verwandte Themen