InterBase is en blijft een van de verborgen juweeltjes van de relationele databasewereld.
Vanaf het begin in het begin van de jaren tachtig, via mainstream adoptie en evolutie onder Borland, kijkt InterBase terug op een staat van dienst die tientallen jaren beslaat; soms definieerde het de standaard waaraan alle andere databases werden afgemeten.
Toen Embarcadero in 2008 de ontwikkelportfolio van Borland overnam, is InterBase opnieuw op de hoogte gebracht van de nieuwste technologische ontwikkelingen en zelfs overtroffen met functies als Change Views.
Dankzij gestage refactoring en evolutie sinds Embarcadero het overnam, zijn de prestaties en reikwijdte radicaal verbeterd. InterBase is opnieuw toonaangevend, synoniem voor prestaties, veiligheid en platformdiversiteit.
De optimalisaties die de afgelopen acht jaar alleen al in onze vriendelijke reus zijn geïnvesteerd, zijn te veel om op te noemen. Embarcadero heeft geweldig werk geleverd met het moderniseren van deze geliefde - en durf ik te zeggen, archetypische relationele database. Tegelijkertijd zijn ze erin geslaagd om de functionaliteit te behouden die typisch InterBase is: Functies die het product onderscheiden.
Voor een oude Delphi ontwikkelaar zoals ik, is het opnieuw gebruiken van InterBase in mijn productieomgeving een emotionele ervaring. InterBase maakte deel uit van mijn universitaire curriculum en werd gebruikt in mijn eerste commerciële softwareontwikkeling naast Delphi.
Vertrouwd maar onmiskenbaar modern, fris maar volwassen en gevestigd.
Ik wil vijf goede redenen geven waarom InterBase je volgende database zou moeten zijn. Schrijven over een onderwerp waar ik gepassioneerd over ben verandert gemakkelijk in een roman, daarom beperk ik me tot een bescheiden vijftal kenmerken.
Laten we eens kijken waarom InterBase 2020 jouw volgende database zou moeten zijn.
1: Platformdiversiteit
De wereld van de technologie is in korte tijd drastisch veranderd. De manier waarop technologie zich ontwikkelt, of het nu software of hardware is, is meestal via plotselinge, onverwachte sprongen. De mobiele revolutie van 2007, aangevoerd door Steve Jobs toen hij de iPhone onthulde op de Apple ontwikkelaarsconferentie in San Francisco, was zo'n sprong.
Opeens werden de criteria voor softwareontwikkeling onherroepelijk veranderd.
Spoel door naar 2020 en tweederde van de wereldbevolking loopt rond met een spreekwoordelijke supercomputer op zak. Elk gevuld met toepassingen, steeds complexer wordend en met een zeer reële behoefte aan betrouwbare gegevenspersistentie.
Vandaag de dag wordt er steeds meer zaken gedaan op mobiele apparaten en daarom is de mogelijkheid om software in te zetten op verschillende platforms, besturingssystemen en hardware een noodzaak. Multi-platform computing is nu een vereiste waarop alle ontwikkelaars, ongeacht de programmeertaal, hun strategie moeten baseren.
Als je ondersteuning voor meerdere platforms nodig hebt, is InterBase een pionier en zijn tijd ver vooruit.
Al aan het eind van de jaren 80 was InterBase beschikbaar voor een verscheidenheid aan computersystemen; van grote en krachtige zakelijke machines met Unix, tot meer bescheiden thuiscomputers zoals de Apollo of de Commodore Amiga.
De doelen van 2020 zijn heel anders, maar InterBase blijft hetzelfde veelzijdige en platformonafhankelijke databasesysteem dat het altijd is geweest. Vandaag de dag kan het worden ingezet op alle toonaangevende platforms en besturingssystemen: Windows, Linux, macOS, Android en iOS. InterBase ondersteunt ook heterogene OS-connectiviteit op alle ondersteunde platforms.
De mogelijkheid om dezelfde database op meerdere architecturen te gebruiken is veruit mijn favoriete functie. Het bespaart tijd, verlaagt de kosten en maakt het leven aanzienlijk eenvoudiger tijdens onderhoud.
Internet der dingenInternet der dingen
Met de komst van het Internet of Things (IoT) onderging embedded computing een opmerkelijke transformatie. Een die nauw samenhangt met de revolutie van de mobiele telefoon en gerelateerd is aan onze berichtgeving hier.
Embedded computing was vroeger een gespecialiseerde niche op de markt. Een niche die min of meer gedomineerd werd door elektrotechnici. Maar toen de revolutie in de mobiele telefonie de massaproductie van betaalbare CPU's, chipsets en SoC's (system on a chip) stimuleerde, was het slechts een kwestie van tijd voordat iemand een nieuwe stijl embedded board in elkaar zou zetten. En dat is precies wat er in 2012 gebeurde. De $35 Raspberry Pi minicomputer werd werkelijkheid en daarmee werd embedded een begrip.
Omdat deze nieuwe klasse van embedded boards gemaakt is van dezelfde onderdelen als mobiele telefoons en tablets, hebben ze ook een prestatieniveau dat ze interessant maakt voor de consumentenmarkt. Ze hebben dezelfde CPU's, draaien dezelfde besturingssystemen (Android) - wat ook betekent dat ze dezelfde software kunnen draaien.
Dit is waar InterBase om de hoek komt kijken.
Oplossingen maken die ook hardware omvatten is een van de spannendste aspecten van softwareontwikkeling. InterBase dekt een breed scala aan embedded apparaten (ARM en x86) - IoT-borden en mobiele telefoons zijn uiteindelijk gewoon verschillende configuraties van dezelfde onderdelen.
En op zulke kleine apparaten is de behoefte aan een snelle, betrouwbare en veilige database erg belangrijk.
Gelukkig kun je bij InterBase terecht.
2: Van uitzicht veranderen
Een van de unieke eigenschappen van InterBase is de manier waarop het omgaat met notificatie en feedback. InterBase heeft verschillende mechanismen voor ontwikkelaars om op de hoogte te blijven van wijzigingen in de gegevens, waarvan Change Views zonder twijfel de krachtigste is.
In tegenstelling tot een gewone databaseweergave is een wijzigingsweergave gebaseerd op een gegevensabonnementsmodel. Je definieert de criteria voor de wijzigingen waarover je wilt worden geïnformeerd, en zodra deze zijn gedefinieerd, vraag je de database "wat is er veranderd sinds de laatste keer dat we elkaar spraken?".
De impact op zaken als netwerkconnectiviteit en payload is onmiddellijk. Vooral als je werkt met een cluster van databases die dezelfde gegevens aanbieden voor verschillende doelen (bijv. webapplicatie vs. mobiele applicatie), vertrouwend op caching in de middleware.
In plaats van handmatig een vaste set rijen op te vragen om je cache bij te werken, de meest gebruikelijke techniek voor middleware, haalt Change Views alleen op wat er veranderd is. Je service begint met het opvragen van een volledige set rijen, een keyframe als je dat wilt. Eenmaal gevuld, worden alleen de wijzigingen in de toekomst opgehaald.
Bij gebruik in een gegevensintensief systeem hebben Change Views een enorme invloed op de prestaties en reactiesnelheid.
Lees meer over weergaven veranderen
3: Tabellenruimten
Het mooie van een volwassen database-engine is dat er opties beschikbaar zijn voor scenario's waar je misschien nooit aan gedacht zou hebben. Een database-engine die al tientallen jaren in een productieomgeving wordt gebruikt, heeft een schat aan ervaring opgebouwd waarvan de eindgebruiker en ontwikkelaar kunnen en zullen profiteren. Dit heeft een diepte en inhoud die sommige van de "luidere" databasesystemen niet kunnen leveren.
Tablespaces zijn een aspect van gegevensbeheer dat buiten de tabelstructuur valt waar een ontwikkelaar normaal gesproken mee te maken heeft. Het valt meer in de categorie beheer en geavanceerde administratie. Het algehele concept is eenvoudig genoeg om te begrijpen en de hoogte in te gaan, vooral als je software maakt die mogelijk veel verder groeit dan je aanvankelijke plannen (zoals altijd het geval is!).
Met tablespaces reorganiseert een databasebeheerder waar tabellen en indexen fysiek worden opgeslagen in de databasebestanden. Dit wordt echt interessant als je een database van 20 terabyte beheert, die 24/7 wordt benaderd door 4000 actieve gebruikers. De mogelijkheid om je authenticatiegegevens (velden zoals gebruikersnaam, wachtwoord hash, etc.) te delegeren naar een SSD schijf, is een serieuze verdienste voor de prestaties.
Een verbetering van zelfs maar een paar milliseconden op elke bewerking, als je dat vermenigvuldigt met het aantal query's dat je per uur uitvoert, komt neer op een kleine eeuwigheid in computertermen.
Functies als deze zijn zeer zinvol voor online bedrijven die werken met een webgebaseerde winkel. Onderzoek leert ons dat de gemiddelde tijd die een potentiële klant nodig heeft om vertragingen te tolereren voordat hij ergens anders heen gaat, gemeten wordt in seconden. De mogelijkheid om de gegevensprestaties op bestandssysteemniveau aan te passen is indrukwekkend en welkom.
Lees meer over Tablespaces
4: UDF Native Functions
UDF is de afkorting van "door de gebruiker gedefinieerde functies" en het is een eenvoudige en elegante manier voor ontwikkelaars om de mogelijkheden van hun queries uit te breiden. In veel opzichten kun je UDF's zien als een soort native plugin.
Hoewel UDF's niet nieuw zijn, maken ze al lange tijd deel uit van de InterBase API. Ze zijn een van die functies die InterBase ongelooflijk veelzijdig en populair maken. Een artikel over InterBase schrijven zonder UDF's te noemen is ondenkbaar.
Een UDF is een normale native bibliotheek (bijv. DLL) waarin ontwikkelaars de functies implementeren die ze nodig hebben. Eenmaal in InterBase geladen, kun je deze functies naast de standaard SQL-functies gebruiken.
Dit opent een aantal interessante mogelijkheden voor gegevensverwerking. Blob data kan worden overgeheveld naar een native functie om te worden verwerkt voordat het naar zijn bestemming wordt gestuurd. Het vergt geen grote sprong van de verbeelding om te zien hoe UDF's in combinatie met Web Technology ontwikkelaars de bouwstenen geeft om een systeem samen te stellen dat vergelijkbaar is met Oracle PL/SQL, maar dan zonder de beperkingen en kosten.
Implicaties van UDF's in de praktijk
Ik werkte een aantal jaren als ontwikkelaar voor de Noorse overheid. Toen ik me uiteindelijk in de privésector waagde, kreeg ik een baan aangeboden bij wat de grootste leverancier van medische software in Scandinavië is.
De regels en voorschriften rondom het inzien en bekijken van medische documenten van persoonlijke en gevoelige aard zijn begrijpelijkerwijs zeer strikt. Wat misschien niet zo bekend is, is dat InterBase de ruggengraat was (en nog steeds is) van het meest gebruikte medische systeem in de regio.
Een deel van die keuze was puur gebaseerd op het feit dat InterBase ontwikkelaars in staat stelt om op een laag niveau direct uit te breiden en te interfacen met de database-engine. Naast de industriestandaard beveiliging die InterBase out of the box levert - er zijn UDF's gemaakt voor het versleutelen van gescande medische documenten - zijn de gegevens onbruikbaar buiten het ecosysteem.
Ik moet nog een database-engine vinden die dit niveau van aanpassingen zo eenvoudig maakt.
5: Veiligheid
Embarcadero introduceerde versleuteling op bedrijfsniveau (AES) met de release van InterBase 2009. De meeste database-engines werken met binaire lees/schrijf-encryptie op bestandsniveau, wat betekent dat de gegevenspagina's die je databasebestand(en) vormen, worden versleuteld en ontsleuteld als ze worden geschreven en gelezen.
Maar InterBase ondersteunt ook een tweede beveiligingsniveau. En je kunt ervoor kiezen om één van beide of beide toe te passen in je implementatiestrategie.
Encryptie op databaseniveau
Codering op kolomniveau
Encryptie op databaseniveau
Zoals ik al kort aangaf, is dit de meest voorkomende vorm van versleuteling die een versleuteling toepast op de gegevenspagina's die je opslagbestand vormen.
Codering op kolomniveau
Zoals de naam al aangeeft is dit een strategie voor het beveiligen van de eigenlijke databasekolommen. Het is belangrijk om te benadrukken dat deze versleutelingsstrategie los staat van versleuteling op databaseniveau en een extra beveiligingslaag toevoegt.
Ondersteuning voor cijfers
InterBase ondersteunt twee cijfers. Je hebt het oudere industriestandaard DES-algoritme. Dit is een zwakkere vorm van versleuteling die geschikt is voor niet-vertrouwelijke gegevens. Het heeft het voordeel dat er geen aparte licentie voor nodig is.
AES is het tweede type encryptie. Het werd in 2002 aangenomen als een Amerikaanse federale standaard. Met AES kunnen gegevens met een groter aantal bits worden gecodeerd dan met DES. De Verenigde Staten reguleren de export van AES vanwege zijn kracht.
Lees meer over de AES encryptiestandaard en regelgeving.
Vind meer diepgaande informatie over InterBase en de encryptiemodellen.
ReflectionsInterBase
Ik zou gemakkelijk een boek kunnen vullen met goede redenen waarom InterBase zo goed is. Het was een uitdaging om het aantal te beperken tot een bescheiden vijftal. InterBase vertegenwoordigt een rijke erfenis van uitmuntendheid die tientallen jaren overspant, gecombineerd met voortdurende innovatie die nooit ophoudt het bedrijf vooruit te helpen. Ik merk dat ik er steeds meer aan toe wil voegen, alleen maar om de boodschap over te brengen.
De enige manier om bekend te raken met InterBase is door er wat tijd mee door te brengen. Als je zover hebt gelezen, vind je InterBase duidelijk interessant. U bent het aan uzelf verplicht om een proefversie te downloaden en het van dichtbij te bekijken! Als u terugkeert naar Delphi of C++Builder, haal dan de geweldige nieuwe mogelijkheden van RAD Studio in.
INTERBASE VAR OVEREENKOMST
InterBase is de ideale database om in te bouwen in je applicatie. Om je te ondersteunen bij een eenvoudige implementatieprocedure bieden we een InterBase VAR-overeenkomst aan. Je krijgt een vaste licentieprijs en speciale installatiebestanden voor een eenvoudige implementatie.

