10 Gründe für Entwickler Liebe NoSQL

Die Popularität von NoSQL-Datenbanken ergibt sich aus der schieren Anzahl von Entwicklern, die begeistert sind über ihnen. Entwickler sehen NoSQL als Enabling und befreiende Technologie. Im Gegensatz zum traditionellen relationalen Ansatz, gibt Ihnen NoSQL eine Möglichkeit, mit Daten zu arbeiten, die näher an der Anwendung ist als das relationale Datenmodell.

Entwickler NoSQL-Technologien aus vielen Gründen annehmen, von denen einige hier hervorgehoben werden:

Keine Notwendigkeit zu schreiben SQL

Structured Query Language Schreiben (SQL) - und tun es auch - ist der Fluch vieler Unternehmen Entwickler Existenz. Dieser Schmerz ist, weil das Schreiben sehr komplexe Abfragen mit mehreren über verwandten Tabellen verknüpft ist nicht einfach zu tun. Außerdem Code im Lichte der regelmäßigen Datenbankänderungen im Laufe der Zeit, Pflege komplexer Abfrage ist ein Job in und für sich.

Enterprise-Entwickler haben eine Reihe von Möglichkeiten erfunden Schreiben von SQL zu vermeiden. Einer der beliebtesten Wege ist durch die Verwendung des Object-Relational Mapping (ORM) Bibliothek, Hibernate. Hibernate nimmt eine Konfigurationsdatei und ein oder mehrere Objekte und abstrahiert die fiesen SQL entfernt, so dass Entwickler haben es nicht verwenden. Dies kommt zu einem Preis in Bezug auf Leistung, natürlich, und löst nicht alle Fälle Abfrage verwenden. Manchmal muss man zurück zu SQL fallen.

NoSQL-Datenbanken stellen ihre eigene Abfragesprachen, die auf die Art und Weise abgestimmt sind, die Daten von der Datenbank verwaltet wird und die Vorgänge, die Entwickler am häufigsten durchführen. Dieser Ansatz bietet eine einfachere Abfrage-Mechanismus als verschachtelte SQL-Anweisungen zu tun.

Einige NoSQL-Datenbanken bieten auch eine SQL-Schnittstelle NoSQL Datenbanken abzufragen, falls Entwickler können nicht die SQL-Gewohnheit brechen!

Sie müssen nicht verbringen Monate Schema entwerfen

Schema Agnostizismus in NoSQL-Datenbanken können Sie Daten schnell zu laden, ohne eine relationale Schema über einen Zeitraum von Monaten erstellen zu müssen. Sie müssen Sie in NoSQL zu speichern nicht analysieren vorne jedes einzelne Datenelement benötigen, wie Sie mit einem RDBMS tun.

Weniger Datentransformationscode (ETL)

Ein häufiges Problem bei relationalen Datenbanken, die aus mit einem Up-Front-Schema-Design kommt, ist, dass Sie nicht relationale Daten in Zeilen und Spalten zu erzwingen. Dieser Zerkleinerungsmechanismus, zusammen mit anderen Methoden, die Code-Informationen für die Speicherung und Nachverarbeitung es zum Abruf vorverarbeiten wird als Extrahieren, Transformieren und Laden (ETL).

Dieser Code zwingt Entwickler ihre schöne glänzende Objekt und Dokumentmodelle zu nehmen und schreiben Code jedes letzte Element zu speichern. so zu tun, ist böse und führt auch zu einer hoch qualifizierten Entwicklern mit schlechter Leistung und uninteressant Sanitär-Code zu schreiben.

NoSQL-Datenbanken können Sie die gespeicherten Datenstrukturen sehr viel näher an ihrer ursprünglichen Form zu halten. Die Daten fließen in zwischen den Systemen ist in der Regel in einem XML-Format, während, wenn es um Web-Anwendungen geht, Daten in einem JSON-Dokument formatiert ist. In der Lage zu nativ speichern, zu verwalten und JSON zu suchen ist ein großer Vorteil für Anwendungsentwickler.

Einfacher zu halten Code

Der gesamte Code, den Sie schreiben muss beibehalten werden. Indem Datenbankstrukturen der Nähe der Anwendungscode der Datenformate, minimieren Sie die Menge an Code, was wiederum die Wartung des Codes und Regressionstests minimiert, die Sie benötigen im Laufe der Zeit zu tun.

Wenn die Datenstrukturen auf einem RDBMS zu ändern, müssen Sie alle SQL-Code überprüfen, die die geänderten Tabellen verwenden. In NoSQL, fügen Sie einfach die Unterstützung für die neuen Elemente, oder sie einfach ignorieren! Viel einfacher zu pflegen, dank der Schema-agnostisch Natur der NoSQL-Datenbanken.

Ausführen von Code nahe an den Daten für die beste Leistung

Ein RDBMS gespeicherte Prozeduren für auf einem Datenbankserver Ausführung von Code. Dieser Code wird an einem Ort ausgeführt. Diese nützlichen Ansatz ist die Grundlage vieler analytischer und komplexer Daten-Management-Anwendungen.

Viele NoSQL-Datenbanken erlauben diese Art von Code auf allen Servern, die relevante Daten speichern verteilt werden, die für eine größere Parallelisierung der Arbeitsbelastung ermöglicht. Dieser Ansatz ist besonders wichtig für große Inges von Daten, die Verarbeitung und für komplexe Aggregation Analytik zur Abfragezeit benötigen.

Benutzerdefinierte Funktionen (UDF) und Server-Side-Scripting in einer Vielzahl von NoSQL-Datenbanken bieten diese verteilte Fähigkeit. UDF sind ähnlich MapReduce Fähigkeit des Hadoop, außer UDF in Echtzeit geschehen kann, anstatt im Batch-Modus und erfordert nicht den gleichen Aufwand in der Infrastruktur, die Hadoop plus einer Datenbank erfordern würde.

Viele Open-Source-Optionen

In vielen Enterprise-Software-Bereichen wird die Wahl eines festen Open-Source-Lösung fehlt. Nur ein oder zwei breite Möglichkeiten existieren. Verfügbarkeit von Fertigkeiten und lokale Unterstützung im Land sind noch größere Probleme.

Jedoch gibt es eine Vielzahl von Open-Source NoSQL Datenbanken. Viele von ihnen haben vollwertige kommerzielle Unternehmen, die Unterstützung anbieten und haben weltweit Büros. Also, wenn Sie Unterstützung brauchen oder mehr Funktionen, können Sie schließlich auf diese Versionen bewegen.

Dies reduziert die Kosten von NoSQL-Technologie übernehmen und ermöglicht es Ihnen, # 147-versuchen, bevor Sie. # Kaufen 148- Diese Verfügbarkeit von Open-Source-Alternativen hat Handelsgesellschaften in der NoSQL-Raum verursacht frei, aber gut ausgestatteten Versionen ihrer Software oder bieten spezielle Startlizenzen für kleine Organisationen zu bieten.

Einfache Skalierung

Sie brauchen nicht eine teure DBA verbringen Tage Refactoring SQL und die Schaffung von materialisierten Ansichten zu erhalten, um jeden Zoll Leistung von NoSQL-Systeme eek.

Key-Wertspeicher kann Hunderttausende von Operationen pro Server verarbeiten. Alle Arten von NoSQL können horizontal über relativ billige Ware Servern skalieren. Also, es ist viel einfacher, Ihre Datenbank-Cluster mit NoSQL Maßstab als mit traditionellen relationalen Datenbanken.

Darüber hinaus wegen ihrer Fähigkeit, auch maßstäblich passen, NoSQL-Datenbanken auch in öffentlichen und privaten Clouds. NoSQL-Datenbanken sind so konzipiert, flexibel zu sein und ausdehnen und zusammenziehen, wie die Einsatzmöglichkeiten für Ihre Anwendung ändern. Diese Fähigkeit wird häufig genannt Elastizität.

Eventual Consistency Datenmodell

Obwohl geschäftskritische Fälle ACID-Konformität verlangen, nicht braucht jede Anwendung so zu tun. Die Möglichkeit, Konsistenz über sehr große Cluster zu entspannen können für einige Anwendungen nützlich sein.

NoSQL-Datenbanken ermöglicht es Ihnen, diese Einschränkungen zu entspannen oder zu mischen und starke Konsistenz und schwache Konsistenz in der gleichen Datenbank, für verschiedene Datensatztypen entsprechen.

Esoteric Sprachunterstützung

So gut wie alle Datenbanken unterstützen die wichtigsten Programmiersprachen wie Java und C # .NET. Viele Datenbanken unterstützen, die gerne von PHP, Python und Ruby on Rails.

NoSQL hat eine blühende Reihe von Sprachtreiber für ein noch breiteres Spektrum von Programmiersprachen. Wenn Ihre Organisation eine domänenspezifische Sprache hat, finden Sie auch Unterstützung für ihn in einer NoSQL-Datenbank.

javascript end-to-end

javascript Nutzung hat sich in den letzten Jahren explodiert. Es ist ein bequemer Skriptsprache sowohl im Web und dank Node.js, auf der Server-Seite.

Viele NoSQL-Datenbanken jetzt voll End-to-End-javascript-Entwicklung unterstützen. Dies bedeutet, dass Ihre Organisation nun den gleichen Pool von Programmiersprache Fähigkeiten nutzen können Web-Anwendungen und Middle-Tier-Daten-APIs und Business-Logik sowie Griff Back-End-Datenbank-Trigger und MapReduce-basierte analytische Verarbeitung neben den Daten zu fertigen.

Als Ergebnis ist im Vergleich zu anderen Datenbanktechnologien, die Total Cost of Ownership (TCO) von NoSQL niedriger.

Menü