Als ich heute las, dass SAP die Firma Sybase übernehmen möchte, fiel mir als erstes der frühere Konflikt zwischen SAP und Sybase ein: Weil Sybase sich weigerte Satz-Sperren einzuführen, gab SAP die Devise aus, dass deren Kunden keine Sybase-Datenbanken nutzen konnten. Microsoft hingegen schon. Dabei unterstütze der damalige MS SQL Server 6.5 genauso wenig Seiten-Sperren. Microsoft beschrieb einfach, wie die Kunden das System so konfigurieren konnten, dass auf einer Seite nur ein Datensatz stand. Und deswegen wurde damals der Einsatz des Microsoft SQL Servers empfohlen.

Aber auf den zweiten Blick macht der Ankauf viel Sinn: Neben den bekannten und begehrten Technologien im mobilen Umfeld, kann SAP den In-Memory-Bereich nach vorne bringen. Auf der deutschen Webseite von Sybase steht:

Wir machen dies zur Realität. Die neue In-Memory (hauptspeicherbasierte) Datenbank Sybase ASE 15.5 bietet:

* Schnellste Transaktionsverarbeitung
* Einfache Integration
* Kostenersparnis

> Sie müssen uns nicht glauben. Sie können es selbst herausfinden: Download der kostenfreie Testversion.

Aber auch für Sybase bietet der Kauf eine Perspektive: Nachdem Sybase im etablierten Markt in die Bedeutungslosigkeit versank und ihren SQL Server nur noch in Nischen platzieren konnte, können sie mit dem entsprechenden Engagement und der Weiterentwicklung des Sybase SQL Servers (heißt jetzt "Adaptive Server Enterprise") als vierter großer Anbieter durchaus zurück in die Charts kommen. Sybase erbrachte in den letzten Jahren im Wesentlichen durch den Sybase iAnywhere Innovationen und Umsatz. Das System kam durch den Zukauf des Watcom SQL Servers (Powersoft) zu Sybase und wechselte dann mehrfach den Namen: Watcom SQL Server, SQL Anywhere, Adaptive Server Anywhere und nun iAnywhere. Und das System ist wirklich gut und ist der Grund warum Microsoft die Compact Edition verschenken muss.

Leider wurde der Sybase SQL Server in all den Jahren wegen des Umsatzeinbruches in dem Bereich kaum weiter entwickelt. Hier täuscht die Versionsnummer 15.5: er sprang direkt von Version 12.5 auf Version 15… 😉 Sybase unterschätze den Bedarf im kleinen und mittleren Segment: Wegen der umständlichen Handhabung und der andauernden Konfigurationsorgien konnte er sich nicht mehr behaupten. Ach ja: und die Tools waren das Grauen schlecht hin. Dabei hatte er schon früh einige gute Innovationen, die Microsoft auch heute noch nicht bietet, z.B. die Pufferpools: Man kann einzelnen Datenbereichen feste Puffer-Bereiche zuweisen, sogar mit unterschiedlichen Seitengrößen. Dann können deren Seiten nicht von anderen aus anderen Pufferpools verdrängt werden. Das ist echt klasse. Um etwas Vergleichbares zu erreichen, müsste man bei Microsoft schon mehrere parallele Instanzen aufbauen. Ich habe das Sybase-System leider aus den Augen verloren, aber ich vermute, dass die neue In-Memory-Technologie nichts anderes ist als dass es einen riesigen Pufferpool für eine feste Datenbank gibt, die komplett in den Speicher passt. Sybase schreibt dazu:

In-memory databases are ASE databases that have zero disk footprint and reside completely in memory. Sybase is the first relational database server vendor to provide a fully integrated in-memory database capability within a traditional disk-based database server.

Wer nun aber denkt, dass Sybase schon fast tot ist, der irrt sich, denn die Sybase-Aktie konnte sich in den Jahren auch beachtlich erholen und das Unternehmen steht so gut da wie schon lange nicht mehr. Eine sehr gute Ausgangsbasis. Sogar im Data-Warehouse-Bereich hätte SAP damit eine gute eigene Lösung anzubieten. Hoffentlich übernehmen sie sich bei dem Kauf nicht. Das fände ich schade. Eine Belebung des Datenbank-Marktes kann uns Kunden nur nutzen. Ich denke ich werde mal eine Wunschliste machen, was mir damals am Sybase SQL Server fehlte. Wer weiß vielleicht haben sie an manchen Stellen etwas getan oder werden es unter SAP tun…

Update: Wie die In-Memory-Datenbanken genau funktionieren, wird in einem Whitepaper beschrieben. Es ist tatsächlich nur ein spezieller Pufferpool:

inmemory_storage cache is no different from regular named caches. sp_cacheconfig with the new cache type nmemory_storage will create the named cache for hosting the in-memory database with NONE as the buffer placement strategy. The following example creates the named cache imdb_cache for the in-memory database:
1> sp_cacheconfig ‘imdb_cache’, ‘300M’, ‘inmemory_storage’
2> go
The change is completed. The option is dynamic and ASE need not be rebooted for he change to take effect.

Das ist eine schlaue Nutzung/Weiterentwicklung einer schon vorhandenen und bewährten Technologie.