ScimoreDB
Encyclopedia
ScimoreDB is a proprietary freeware relational database management system
for Microsoft Windows
, developed by Scimore UAB.
It features advanced features: SQL
, ACID
transactions
, Multiversion concurrency control
, free text search, shared nothing clustering, functional procedural shipment for distribution
of data and queries. It works as embedded library, standalone server and distributed
over many machines.
for ScimoreDB. DQL is a text based query language, which precisely describes how each query is executed in a large grid of computers. DQL describes where different functional nodes are instantiated, how they are connected, and how they communicate. The nodes are always connected in a tree
like structure, where the root node returns the result of the DQL query.
interfaces.
It was the core of many internet applications, and grew with requirements of the applications. Distribution
was added to improve scalability
, a query language DQL was added to improve speed of development, and transactions
followed to ensure improve manageability.
In 2005 Scimore was created, and the database was separated into a separate company.
The major improvements in 2006 were the SQL
to DQL translator and new distribution
algorithms, allowing for linear scalability
in distributed
environment. The embedded version where launched.
In 2007, based on requirements by the users, features where added – free text search, blob
compression
, database files movable, and embedded database allows for cross process interaction. A TPC
benchmark resulted in updated communication protocols, improving the speed in large distributed database scenario.
, utilizing many of the advanced features of Win32, Fibers
, IO completions. An attempt is being made to porting
ScimoreDB to Linux
using the Wine
project.
There are currently clients for C++
, Borland Delphi
and .NET Framework
.
Database management system
A database management system is a software package with computer programs that control the creation, maintenance, and use of a database. It allows organizations to conveniently develop databases for various applications by database administrators and other specialists. A database is an integrated...
for Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
, developed by Scimore UAB.
It features advanced features: SQL
SQL
SQL is a programming language designed for managing data in relational database management systems ....
, ACID
ACID
In computer science, ACID is a set of properties that guarantee database transactions are processed reliably. In the context of databases, a single logical operation on the data is called a transaction...
transactions
Database transaction
A transaction comprises a unit of work performed within a database management system against a database, and treated in a coherent and reliable way independent of other transactions...
, Multiversion concurrency control
Multiversion concurrency control
Multiversion concurrency control , in the database field of computer science, is a concurrency control method commonly used by database management systems to provide concurrent access to the database and in programming languages to implement transactional memory.For instance, a database will...
, free text search, shared nothing clustering, functional procedural shipment for distribution
Distributed computing
Distributed computing is a field of computer science that studies distributed systems. A distributed system consists of multiple autonomous computers that communicate through a computer network. The computers interact with each other in order to achieve a common goal...
of data and queries. It works as embedded library, standalone server and distributed
Distributed computing
Distributed computing is a field of computer science that studies distributed systems. A distributed system consists of multiple autonomous computers that communicate through a computer network. The computers interact with each other in order to achieve a common goal...
over many machines.
DQL
DQL (Distributed Query Language) is the internal query languageQuery language
Query languages are computer languages used to make queries into databases and information systems.Broadly, query languages can be classified according to whether they are database query languages or information retrieval query languages...
for ScimoreDB. DQL is a text based query language, which precisely describes how each query is executed in a large grid of computers. DQL describes where different functional nodes are instantiated, how they are connected, and how they communicate. The nodes are always connected in a tree
Tree structure
A tree structure is a way of representing the hierarchical nature of a structure in a graphical form. It is named a "tree structure" because the classic representation resembles a tree, even though the chart is generally upside down compared to an actual tree, with the "root" at the top and the...
like structure, where the root node returns the result of the DQL query.
History
It all started as an internal project for a European Portal. In the early days of the internet – there were no database servers, that were ready to fuel the low cost and high speed required by internet applications. It started as an “in memory database”, with simple COMComponent Object Model
Component Object Model is a binary-interface standard for software componentry introduced by Microsoft in 1993. It is used to enable interprocess communication and dynamic object creation in a large range of programming languages...
interfaces.
It was the core of many internet applications, and grew with requirements of the applications. Distribution
Distributed computing
Distributed computing is a field of computer science that studies distributed systems. A distributed system consists of multiple autonomous computers that communicate through a computer network. The computers interact with each other in order to achieve a common goal...
was added to improve scalability
Scalability
In electronics scalability is the ability of a system, network, or process, to handle growing amount of work in a graceful manner or its ability to be enlarged to accommodate that growth...
, a query language DQL was added to improve speed of development, and transactions
Database transaction
A transaction comprises a unit of work performed within a database management system against a database, and treated in a coherent and reliable way independent of other transactions...
followed to ensure improve manageability.
In 2005 Scimore was created, and the database was separated into a separate company.
The major improvements in 2006 were the SQL
SQL
SQL is a programming language designed for managing data in relational database management systems ....
to DQL translator and new distribution
Distributed computing
Distributed computing is a field of computer science that studies distributed systems. A distributed system consists of multiple autonomous computers that communicate through a computer network. The computers interact with each other in order to achieve a common goal...
algorithms, allowing for linear scalability
Scalability
In electronics scalability is the ability of a system, network, or process, to handle growing amount of work in a graceful manner or its ability to be enlarged to accommodate that growth...
in distributed
Distributed computing
Distributed computing is a field of computer science that studies distributed systems. A distributed system consists of multiple autonomous computers that communicate through a computer network. The computers interact with each other in order to achieve a common goal...
environment. The embedded version where launched.
In 2007, based on requirements by the users, features where added – free text search, blob
Binary large object
A blob is a collection of binary data stored as a single entity in a database management system. Blobs are typically images, audio or other multimedia objects, though sometimes binary executable code is stored as a blob...
compression
Data compression
In computer science and information theory, data compression, source coding or bit-rate reduction is the process of encoding information using fewer bits than the original representation would use....
, database files movable, and embedded database allows for cross process interaction. A TPC
Transaction Processing Performance Council
Transaction Processing Performance Council is a non-profit organization founded in 1988 to define transaction processing and database benchmarks and to disseminate objective, verifiable TPC performance data to the industry...
benchmark resulted in updated communication protocols, improving the speed in large distributed database scenario.
Source code specifics
ScimoreDB is written in C++C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...
, utilizing many of the advanced features of Win32, Fibers
Fiber (computer science)
In computer science, a fiber is a particularly lightweight thread of execution.Like threads, fibers share address space. However, fibers use co-operative multitasking while threads use pre-emptive multitasking. Threads often depend on the kernel's thread scheduler to preempt a busy thread and...
, IO completions. An attempt is being made to porting
Porting
In computer science, porting is the process of adapting software so that an executable program can be created for a computing environment that is different from the one for which it was originally designed...
ScimoreDB to Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
using the Wine
Wine (software)
Wine is a free software application that aims to allow computer programs written for Microsoft Windows to run on Unix-like operating systems. Wine also provides a software library, known as Winelib, against which developers can compile Windows applications to help port them to Unix-like...
project.
There are currently clients for C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...
, Borland Delphi
Borland Delphi
Embarcadero Delphi is an integrated development environment for console, desktop graphical, web, and mobile applications.Delphi's compilers use its own Object Pascal dialect of Pascal and generate native code for 32- and 64-bit Windows operating systems, as well as 32-bit Mac OS X and iOS...
and .NET Framework
.NET Framework
The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...
.