WebDNA database access and the future of SQL

WebDNA databases vs SQL databases

WebDNA is an interpreted, server-side scripting language that works like PHP, except that it has features that PHP does not.

First, WebDNA takes a unique approach to database management. It has the ability to interact with tab-delimited text files on disk, which can serve as a complete relational database system. It's syntax includes expressions for performing searches that identify the particular table or tables to search, like [search db=sample.txt] . That command will load the file smple.txt into RAM and then perform a search. I have omitted the additional syntax required to specify what to search for for simplicity.

Once the database is loaded into RAM, al subsequent searches are performed on that RAM data, which is orders of magnitude faster than searching data stored on disk. All changes to the RAM data are written back to disk with a separate process so that the disk data remains synced with RAM and yet the server can perform searches directly in RAM.

You may have noticed that WebDNA is searching data without using a database at all. That's one of the most powerful features of WebDNA. Yes, it has a complete set of instructions for interacting with many popular databases, like mySQL, so you can use WebDNA in a manner just like PHP. But the reality of database systems is that they have used disk-centric technology that hasn't changed for decades. The fundamental design of mySQL is to interact with data on disk, through a serial connection to the hard disk hardware. That is nowhere near as efficient as interacting with data stored in RAM. First, all data must be serialized which is like taking a marching band and lining it up in a single-file row.

A computer with a 64 bit data path can not only flow data in and out of RAM in 64 bit wide blocks, but because that data is moving in and out of RAM, the speeds are those of RAM, as opposed to the read and write times of a hard disk.

While it's true that there are faster, solid state disks and many different caching technologies that help speed up this process, those are all just different patches to a fundamentally bad underlying technology.

In addition, in order for PHP to interact with relational data, a programmer must learn both PHP syntax and SQL. Then, the programmer needs to learn how to wrap his complicated SQL statements in PHP so that they can be transmitted to the database. Then there's the complicated process of capturing the data returned from the database and reorganizing it into a form useful for building an HTML page.

WebDNA eliminates both the complication and inefficiency of this really old, tired technology. Even more recent technologies like Hadoop and Mongodb still haven't arrived at the brilliant point that WebDNA has because they still keep a discreet separation between the server side, interpreted scripting language and the database. WebDNA does not have this separation. Because it's syntax includes all the instructions needed for interacting with structured data, it is much more efficient to write web applications than in any language that requires separate syntaxes for page generation and data interaction.

Another important philosophical approach that WebDNA takes is that of lexicon efficiency. Before any new instructions are added to the language, the question is first asked - does this potential, new instruction provide any benefit? Does it either reduce the necessary syntax to accomplish a task substantially, and/or does it provide any performance improvement. Whenever new instructions have been requested for different purposes, the decision to add them was subjected to this fundamental test.

By restricting syntax additional to only those that offer measurable benefit, not only does it mean a smaller memory footprint for WebDNA, but it means that its performance remains as fast as possible and the learning curve far more approachable than that of PHP. PHP has routinely added instructions over many years that are either redundant, or do not provide measurable benefits. Instructions have been added just because they can. As a result, the language has become massive, with thousands of instructions, has suffered a performance hit because each instruction encountered must be searched against that massive list, has become much more complicated to learn and master, and has significantly more potential security issues due to all that code bloat.

By comparison, WebDNA has a complete instruction set that anyone can memorize. So imagine being able to write completely interactive web applications without ever having to reference code manuals or leave a single, concise programming language.

Also, it has never made sense for a program like mySQL to support functions. Although virtually all database languages support the ability to store complicated searches as functions which can be called from a scripting environment, think of the problem that this creates. Now your code base exists in two places and in two completely different languages. In addition to constraints and dependencies, this makes management of a web application significantly more difficult and introduces substantial security issues.

As the internet and its programming languages and syntaxes continue to evolve, it will be inevitable that they will more and more closely come to resemble WebDNA. Hardware advancements mean that eventually all data will be stored in RAM and the hard disk as we know and understand it will completely go away. On a computer this will mean that any programs installed will all be running, and all documents will already be open. There will no longer be a need to open and close anything because, with enough RAM, moving anything out of RAM and saving it on a disk will simply not be necessary.

When that point arrives, and it will be in the next decade, database languages will no longer exist in their current form. You just won't need a tool for reading and writing structured data to and from a hard disk because there won't be any hard disks. Data will then be truly randomly accessible without any penalties imposed by physical hardware.

There is simply no other web server scripting language in existence that's better positioned to provide simplicity, performance and security than WebDNA. Patrick McCormick


Top Articles:

Large companies using WebDNA

Large companies have been using WebDNA for years: speed and robustness as well as scalability have been some of the most attractive strengths of this language...

WebDNA needs to be thought of as the Web Application Hacker's preferred weapon

Online object orientation is anecdotal...

More than just websites

WebDNA is a great all-purpose language for adding dynamic elements to websites...

WebDNA Hosting Companies

WebDNA Hosting Companies...

Unifying the syntax

I seem to have the hardest time describing WebDNA to smart people...

WebDNA database access and the future of SQL

WebDNA databases vs SQL databases...