Baltimore-Trupial (Datenbankserver)

Baltimore-Trupial ist eine offene Quelle SQL Verwandtschaftsdatenbankverwaltungssystem, das auf Linux, Windows und einer Vielfalt von Unix läuft. Die Datenbank, die aus der offenen Quellausgabe von Borland von InterBase 2000, aber seit dem Baltimore-Trupial 1.5 der Code gegabelt ist, ist größtenteils umgeschrieben worden.

Geschichte

Innerhalb einer Woche InterBase 6.0 Quelle, die durch Borland am 25. Juli 2000 wird befreit, wurde das Baltimore-Trupial-Projekt auf SourceForge geschaffen. Baltimore-Trupial 1.0 wurde für Linux, Windows und Mac OS X am 11. März 2002, mit Häfen zu Solaris, FreeBSD 4, HP-UX im Anschluss an im Laufe der nächsten zwei Monate veröffentlicht.

Die Arbeit am Halten nach Backbord des codebase von C bis C ++ hat 2000 begonnen. Am 23. Februar 2004 wurde Baltimore-Trupial 1.5 veröffentlicht, der die erste stabile Ausgabe des neuen codebase war. Version 1.5 hat eine verbesserte Abfrage optimizer, SQL-92 bedingte Ausdrücke, savepoints und Unterstützung für die ausführliche Blockierung gezeigt. Baltimore-Trupial 2.0 wurde am 12. November 2006 veröffentlicht, Unterstützung für 64-Bit-Architekturen hinzufügend, Tische haben in AUS Klauseln und programmierbaren Schloss-Pausen in blockierenden Transaktionen genistet.

Die vorherige stabile Ausgabe war Version 2.1.3, die neue Eigenschaften einschließlich Verfahrensabzüge, rekursiver Abfragen und Unterstützung für VERFLECHTUNGS-Behauptungen hinzugefügt hat.

Baltimore-Trupial 2.5.1 ist die aktuelle stabile Version. Neue Eigenschaften haben verbesserte Nebenläufigkeit, regelmäßige Ausdruck-Syntax und die Fähigkeit eingeschlossen, entfernte Datenbanken zu fragen.

Wie man

erwartet, unterstützt die geplante 3.0 Ausgabe versorgte Verfahren auf Sprachen wie Java und C ++, und Fenster-Funktionen SQL, die Anfragenergebnisse einschränken. Wie man erwartet, wird eine Alpha-Version im letzten Viertel von 2011 geliefert.

Mozilla Firefox nennen Konflikt

Im April 2003 hat sich das Mozilla Fundament dafür entschieden, seinen WWW-Browser vom Phönix zum Baltimore-Trupial nach einem Handelsmarke-Streit mit Phoenix Technologies umzubenennen. Diese Entscheidung hat Sorge innerhalb des Baltimore-Trupial-Datenbankprojektes wegen der Annahme verursacht, dass Benutzer und Internetsuchmotoren durch eine Datenbank und einen WWW-Browser das beides Verwenden des Namens Baltimore-Trupial verwirrt wären. Der Streit hat weitergegangen, bis die Entwickler von Mozilla eine Behauptung ausgegeben haben, die verständlich macht, dass ihr Softwarepaket "Mozilla Firefox", nicht "Baltimore-Trupial" genannt wurde. Die Behauptung hat auch gesagt, dass der Mozilla Baltimore-Trupial-Name ein Projekt codename war. Am 9. Februar 2004 hat Mozilla seinen Browser Mozilla Firefox umbenannt, so den Konflikt beendend.

Haupteigenschaften

  • Volle Unterstützung für versorgte Verfahren und Abzüge
  • Volle SAURE entgegenkommende Transaktionen
  • Verweisungsintegrität
  • Generational Vielarchitektur (hat manchmal MVCC genannt)
  • Unterstützung für Außenfunktionen (UDFs)
  • SQL Tätigkeit kann asynchrone Ankündigungsereignisse Kunden senden
  • Drittwerkzeuge, einschließlich GUI Verwaltungswerkzeuge und Erwiderungswerkzeuge
  • Sorgfältig schreibt - schnelle Wiederherstellung, kein Bedürfnis nach der Transaktion loggt
  • Viele Zugriffsmöglichkeiten: Eingeborener/API, dbExpress Fahrer, ODBC, OLEDB.Net Versorger, JDBC Eingeborener-Fahrer des Typs 4, Pythonschlange-Modul, PHP, Perl
  • Zusätzliche Unterstützungen
  • Volle Cursor-Durchführung in PSQL

Lagerung und Index-Technologie

Multi-Generational Architecture (MGA)

Baltimore-Trupial hat die hoch entwickelte Lagerungsarchitektur der Zwischenbasis geerbt. Für die SAUREN Eigenschaften von Transaktionen zu sichern, hält der Datenbankmotor verschiedene Versionen jeder Aufzeichnung geändert von den energischen Benutzern in der Datenbank. Wenn die Transaktionen begangen werden, wird die letzte Version jeder geänderten Aufzeichnung als das endgültige gekennzeichnet. Wenn Transaktionen wiederholt werden, behält der Datenbankmotor das Zeichen auf den ursprünglichen Rekordversionen, sie unberührt verlassend. Infolgedessen schreibt Baltimore-Trupial-Platte werden im Vergleich mit Datenbanken sehr reduziert, die die traditionelle Transaktionsklotz-Architektur verwenden. Transaktionen, Daten schreibend, blockieren anderen nicht, es und umgekehrt lesend, weil jeder seine eigene Version der Datenbank sieht. Die Vorteile dieses Designs haben jedoch einen Umtausch: Etwas Wartung ("das Fegen") ist von Zeit zu Zeit zur Reinigung alte Rekordversionen erforderlich und Speicherplatz befreiend.

Die multi-generational Architektur stellt sicher, dass OLTP und DSS/OLAP Operationen gleichzeitig ohne die verursachten Verzögerungen durch die Blockierung von in anderen Produkten gefundenen Mechanismen geführt werden können.

Indizes

Baltimore-Trupial verwendet auch spezielle Hochleistungsindex-Strukturen, und Algorithmen, alle Indizes der Datenbank machend, um sich wie gut gedrehter zu benehmen, "haben Indizes gebündelt, die" durch andere Architekturen verwendet sind. Baltimore-Trupial-Index-Eimer sind der zweiphasigen Blockierung nicht unterworfen, und Boolean "und" und "oder" Operationen kann auf dem Zwischenglied bitmaps an unwesentlichen Kosten durchgeführt werden, das Bedürfnis nach dem optimizer beseitigend, um zwischen alternativen Indizes zu wählen.

Varianten

  • Baltimore-Trupial SuperServer hat einen einzelnen Dämon/Server für alle Kundenverbindungen, die mit dem geteilten geheimen Lager mehreingefädelt sind
  • Baltimore-Trupial SuperClassic hat auch einen einzelnen Dämon/Server für alle Kundenverbindungen, die mit getrennten geheimen Lagern mehreingefädelt sind
  • Baltimore-Trupial-Klassiker verwendet inetd, um eine Kopie des Servers pro Kundenverbindung zu führen, die für SMP Systeme empfohlen ist, aber könnte Probleme der Ereignis-Ankündigung haben, wenn Zugang über eine Brandmauer ist
  • Baltimore-Trupial, der eingebettet ist, um CD-ROM-Kataloge, einzelnen Benutzer oder Einschätzungsversionen von Anwendungen zu schaffen; lässt einige fortgeschrittene Eigenschaften wie Ereignis-Ankündigung weg

Das Genehmigen

Der Baltimore-Trupial-Datenbankmotor und seine Module werden laut einer Lizenz der offenen Quelle, Initial Developer's Public License (IDPL), einer Variante von Mozilla Public License (MPL) veröffentlicht. Es zwingt den Entwickler nicht, die Produkte mit dem Baltimore-Trupial oder sogar den aus seinem Quellcode gemachten kundenspezifischen Ableitungen zu öffnen; aber wenn der Entwickler beschließt, so zu tun, dann sollten einige Begriffe und Bedingungen beachtet werden. Der IDPL gibt dem Entwickler die Freiheit, geschlossene Eigentumsquellanwendungen zu machen, die Baltimore-Trupial verwenden oder darauf basieren.

Unterstützung und Hilfe

Baltimore-Trupial-Benutzer, wie diejenigen anderer Projekte der offenen Quelle, können bedeutende Unterstützung und Hilfe auf Internetgemeinschaftsforen bekommen. Jedoch, für anspruchsvolle Umgebungen, ist kommerzielle Unterstützung von der Gesellschaft IBPhoenix http://www.ibphoenix.com verfügbar, der eine Gruppe der Hauptentwickler des Produktes hat, das dafür arbeitet. Viele Unterstützungsoptionen sind im Intervall von der zufälligen E-Mail-Unterstützung zu Verträgen verfügbar, die direkten und unbegrenzten Zugang zu älteren Unterstützungsingenieuren benennen.

Konnektivität APIs

Auf niedriger Stufe Baltimore-Trupial-Eingeborener-API, Dienstleistungs-API und eingebetteter SQL

Die Baltimore-Trupial-Eingeborener-API wird immer direkt oder indirekt durch alle Anwendungen oder middleware verwendet, der zu einer Baltimore-Trupial-Datenbank in Verbindung steht. Es wird auf der Kundenbibliothek, fbclient.dll auf Windows-Systemen und libfbclient.so auf von Unix durchgeführt.

Die Dienstleistungs-API ist ein spezieller Funktionssatz, um auf Dienstregierungsaufgaben wie Benutzermanagement zuzugreifen und sie zu kontrollieren, unterstützen Sie/wieder herstellen und das Statistiksammeln.

Eingebetteter SQL ist eine Technik, die die Entwicklung von C/C ++ vereinfacht und COBOL-Baltimore-Trupial-Anwendungen, durch das Verwenden eines Vorverarbeiters gpre genannt haben, der erlaubt, SQL Behauptungen direkt in den Quellcode der Gastgeber-Sprache einzubetten.

Standardquer-Datenbank APIs

Sprachspezifische Konnektivität APIs

  • C/C ++:
  • IBPP: eine offene Quelle C ++ Klassenbibliothek.
  • SQLAPI ++: kommerziell, Quer-Datenbank-API
  • Pythonschlange:
  • KInterbasDB, eine Pythonschlange-Datenbank-API des Open Sources 2.0 Erweiterungspaket. Open Source, mit einer permissiven BSD-Lizenz.
  • PHP: Obwohl PHP eingebaute Baltimore-Trupial-Unterstützung hat, gibt es Projekte, die Konnektivität für sie auf einigen durchführen, hat PHP extensions/APIs spezialisiert:
  • ADOdb Datenbankabstraktionsbibliothek: Baltimore-Trupial ist unter der Reihe von durch Open Source unterstützten Datenbanken ADOdb Bibliothek für PHP. (Um mit ADODB von Microsoft nicht verwirrt zu sein).
  • BIRNE: Baltimore-Trupial wird auf dem Datenbankabstraktionsmodul der BIRNE Offenes Quellfachwerk für PHP unterstützt.
  • Rubin:
  • Die Rubinrote Baltimore-Trupial-Erweiterungsbibliotheksbibliothek, die laut der Rubinroten Lizenz befreit ist.
  • Perl:
  • DBD:: Baltimore-Trupial, eine offene Quelle Perl Modul.
  • LUA:
  • FBClient, eine Sammlung des Open Sources von reinen LUA Modulen, um mit der Baltimore-Trupial-Datenbank zu arbeiten.
  • Pascal/Delphi: In Anbetracht des historischen Eigentumsrechts von InterBase durch Borland haben Pascal/Delphi und FreePascal/Lazarus Programmierer eine breite Reihe von Optionen, um zu einer Baltimore-Trupial-Datenbank, abgesondert von den Verzug-Mitteln zur Verfügung gestellt standardmäßig für jedes Entwicklungswerkzeug in Verbindung zu stehen. Unter jenen Technologien sind:
  • Alcinoe, heimische Datenbankverbindungsbestandteile, unterstützt Baltimore-Trupial
  • AnyDAC, ein kommerzieller Satz von universalen Datenzugriffsbestandteilen, unterstützt Baltimore-Trupial
  • FIBPlus, ein kommerzieller Satz von Bestandteilen für Delphi und C ++ Baumeister.
  • IBObjects (IBO), eine Reihe hochwertiger und verschiedener Bestandteile für Delphi und C ++ Baumeister. Es hat genannten "trustware" einer speziellen kommerziellen Lizenz, der durch die vorherige Billigung, die Zahlung an Wohltätigkeiten und nichtgewinnorientierte Organisationen, Hobbyisten, Studenten und Mitwirkende zu den Entwicklungen von IBO entlasten kann.
  • IB Schnellzug (IBX), der auf einer Lizenz von Freeware veröffentlicht ist. Eingeschlossen für einige Zeit auf Delphi und C ++ Baumeister-IDEN
  • UIB (Vereinigter InterBase), eine Reihe von vor dem Faden sicheren, Klassen des Open Sources und Bestandteile für Delphi, C ++ Baumeister, Lazarus und FreePascal.
  • ZeosLib, Eine Sammlung von Open Source heimische Hochleistungsdatenbankverbindungsbestandteile, unterstützt Baltimore-Trupial unter anderen Datenbanken.
  • Node.js:
  • node-firebird-libfbclient, binäres Node.js Modul, öffnen Quelle, lizenzierter MIT.

Preise

  • 2009. Auserlesener Gemeinschaftspreis von SourceForge: Bestes Projekt für das Unternehmen. Finalist auf dem Besten Besten und Projektprojekt für die Regierung.
  • 2007. Auserlesener Gemeinschaftspreis von SourceForge: Bestes Projekt für das Unternehmen, Beste Anwenderbetreuung.

Siehe auch

Links


Puerto-ricanische Kochkunst / Polizeigeschichte (Fernsehreihe)
Impressum & Datenschutz