Adam’s July 2021 Meeting Summary


  • Data Abstraction Layer – Rob Lambden
  • An introduction to Azure – Ian Hamilton
  • Nugget: Using Devart – dBForge Studio for MySql – Enterprise edition – Pete Edwards

Adam’s Summary

Data Abstraction Layer – Rob Lambden

Rob is a good way through building a data abstraction layer which is sufficiently abstract to be able to query virtually any data source, whether it be a database, some structured text file (ie JSON, XML) or pure BLOB or Stream data.
The idea being to have a layer such that you can plug file type x into abstraction widget y and program z will be able to read it. The specific idea being that program z should be able to effortlessly read between abstraction widget a, b, c and d as well as y without really knowing which is which.
A tough, tough task, with a good component of head-scratching, Rob now has something which is fairly data agnostic, can read from MySQL, MSSQL, Interbase, SAP-HANA. Can read from text files Excel sheets … Can read ANY Delphi object. Can support talking to an API. Wants to be able to store to different databases if needed.
This was a really detailed technical talk, which was almost as interesting for its raw abstraction as for the actual code that was presented.
Rob has actually written IDE Components which work in a fully “RAD” way in the IDE (not just a code-library). An amazing achievement.

An introduction to Azure – Ian Hamilton

Ian gave a really good, detailed session on how Azure works. He included detail of how Azure manages fall-over safety with “Regions” and “Zones” (“multiple-Zone services” allow services and data to be secure despite individual Zones going down).
As with all these large scale offerings there are hundreds of new pieces of jargon to learn, all for services, products and offerings which are similar-but-different to services and products offered in the same space by providers like Amazon Web Services (AWS).
Azure features: PAS: Platform as a Service, ie you get an instance of an operating system, and SAAS: Software as a service, you get an instance of a program (such as a SQLServer instance). These seem the simplest and most easily understood products.
Beyond this there are more than 200 distinct products such as “Azure Face API”, “Machine Learning” etc. Covering all the hip and groovy new software services that are also being offered by people like IBM, Google, and Amazon.
The product offerings are very dynamic, in just a few weeks products can be added and removed. For example “Azure Face Expression Evaluation” was present last week, has gone now … What does this mean for a Developer?
The Machine Learning interface was highly developed, then suddenly overwritten as “Classic” and “Deprecated” …
This drives Ian (and me to be honest) a bit crazy, as it really makes life incredibly difficult for the developers targetting use of these services.
Prices look roughly similar to AWS, many core concepts are similar to AWS.

Data Abstraction Layer – Rob LambdenAn introduction to Azure – Ian HamiltonNugget: Using Devart – dBForge Studio for MySql – Enterprise edition – Pete Edwards

A high quality database and SQL admin tool, Pete gave a good introduction and how-to-use session about it.
Peter uses this to look after MySQL databases (ie WordPress). The enterprise version costs about $400, but this is for 2 licenses & there is a 25% discount. There are cheaper versions with fewer features, including a free version.
Tools he likes that are in the (pro version of the) product:

  1. Copy Database tool. Allows generation of a script that wholly copies entire dbs. Includes a lot of useful features like including / not including data, you can drop on target, copy and change names in the copy process etc. Ability to process multiple database simultaneously, very fast, very flexible.
  2. Database Documentation. Allows creation of nicely templated HTML files which are linked to the a database, so an Admin can create a file to describe their DB. This includes automated tools to create schema descriptions that users can read in an HTML or PDF file. All with automated hyper links. This is useful to build reference documents for a DB.
  3. Random/Dummy data generator for tests and trialling.
  4. Schema Comparison tool. Including “Create Sync Script”
  5. Modelling tool, including tool to generate the schema changes between versions of the model.
    As well as this the product is just a very good DB Admin tool. It is built in Delphi with the DevExpress components, so the grids are powerful, and give great access to review and check data.