Wednesday, November 28, 2018

NetBasic Where No One Has Gone Before, MV.Net on SQL Server?

There have been numerous expeditions over the years connecting and leveraging the Microsoft .Net world with the Multi Value world: BlueFinity, NovoMotion, various ETL products.  But none so bold as the ProsolGrp NetBasic expedition.

Grant Hart and Allan Williams brought NetBasic to the recent NovoRoiSystems User Group Meeting to share what they have been working on.

NetBasic is on another plane from other .Net <-> Multi-Value technologies. It is the .Net SQL Server whale swallowing up the Multi-Value Jonah. And Multi-Value Jonah is living quite comfortably inside the SQLServer beast.

By creating a managed code Multi-Value runtime with serialization kept non-normalized in a single SQL table cell, NetBasic keeps all the benefits of Multi-Value while taking on all the benefits of the SQL Server environment and .NET.


From within the runtime the user is in a Multi Value environment. From outside the runtime the user is in a SQL .Net environment.  Yes, it is a TARDIS.









To be useful from other SQL client technologies normalizing views make the underlying dynamic arrays appear as normalized tables.  This allows the runtime online transaction processing to avoid normalization overhead while keeping the consumers of the data happily fed with flat tables.


NetBasic code gets converted to C# and then to a managed assembly. Multi Value indexing is implemented as SQL indexing. Dynamic array records are stored whole on top of the SQL Table structure as a single cell.

The underlying structure of the dynamic array records can evolve and SQL Server does not care one whit, providing continuous support for changing and growing business applications. The Multi Value OLTP code runs merrily along avoiding all the joining and normalizing overhead.  Only the normalizing views for SQL OLAP clients need regenerating after structural changes in the MV database.

IT can manage, backup, and replicate your Multi-Value database as just another SQL DB instance.
Application development can use the full range of MV and .NET development languages.
Users can continue to productively employ the MV application business rules that guide them in tracking your business. And management can employ SSRS and other SQL based management tools essential to decision making in today's world.