Kin icon

KIN DB 2004 Project home page

Project hosted at: Logo


The Kin project is a DataBase and Application server system for enterprise Information Management, intended for medium to big size business management. It is based on easily scalable parallel architecture, designed to run on very cheap hardware (often several simple mainboard + RAM + CPU + network nodes building up a cheap, moderate power, and quite small computing cluster).
Application model is pretty server centric, leaving little work to do on the client side (user interface and presentation management only). Using the web client interface, the only function on the client side is to just draw and retrieve user input (via a simple html browser).

There's a specific KinGUI page with that subproject's related info.

Please visit the project's Wiki for more updated information.


Main highlights are:

  • Completely scalable: just add new nodes to increase throughput/reliability/resources.
  • Integration and expandability: this is not just a data base, you can implement any kind of process that you can write code to manage it (controlling external hardware like robots, servos, access control, suirvellance, telephony integration, VoIP...)
  • Universal user interface (using the Web Client Interface), or
  • SDL based binary client interface (GUI), that should be portable to multiple platforms, keeping the very same user interface independent of the OS behind. Intended to work in very thin clients or simple (cheap) computers, even into embedded systems.


Project is now in beta stage (heavy testing). A generic Timeline is available. Currently:
  • Cluster works, nodes are developed but still lack some minor features (some being implemented currently), database is loaded, and queries work (not 100%, but almost). See kin status page for detailed status.
  • Web Client Interface already generates and serves a few pages, and system is very close to get external queries working. This subproject has stopped development now in favor of the SDL GUI below.
  • GUI (Graphic User Interface) works (applications, windows and controls work, some client applications have been developed), still a few controls are incomplete, network management works but might be better. See kinGUI status page for a detailed status report. There's a quite stable API now for final application development.


Documentation comes in a few sections. Main are:

  • Project's documentation with pdf versions of preliminary docs.
  • There's a tests area, where you can find some benchmarks, some interesting stress tests results, etc. (hardware related, but take your own conclusions on numbers)
  • You can browse source code files directly (click over the version link, for every file you're interested in), both for KinDB and KinGUI.
  • You also can see the change log for both KinDB and KinGUI.
Other references and docs (mostly old and seldom updated):

Download and install

Project is hosted at, you can find downloadable sources there. Anyway, there's current sources (compilable) at project's SVN server; those might be much better than the available distribution package (usually far much up to date). Please have a look at the simple instructions included in each section (for KinDB or KinGUI) below on how to use SVN.
This is still in beta stage, download sources for reference, but don't expect the complete system to work (yet), except if you create DB tables and client application on your own. This doesn't mean that doesn't compile: it usually does. But it doesn't carry all the things it should to consider it useful as a simple-to-use final product. If you have trouble compiling, do not heasitate to make me know through the project bug list (thank you).
KinDB See instructions to compile and install KinDB for help, first. For the two download options, please use the preferred SVN way if posible. This project is intended for Unix-like (x86 based) servers, it probably won't compile on a Windows platform.
KinGUI Check compilation instructions for KinGUI installation. For the two download options, please use the preferred SVN way if posible. This subproject compiles both under Unix-like and Windows platforms, but you'll probably need some special tools to do so under Win32 (like MinGW). Soon, there will be a binary package for your convenience.

Running Kin System

Project is now in beta stage, we have a complete system working for test. At this point, many modules have almost complete functionality, and some examples and tests may be performed. The cluster is already able to boot, load database items, manage nodes in and out of it, and even serving some http requests (with embedded http server, now discontinued). Database functionality also works (with a few bugs yet, for sure). You're encoraged to create your own database sets (simple XML files can be imported in) and do some tests, it works amazingly fast with a single node and 350MB data sets, a few million items! We also have tested it with up to 30GB of data (although it takes about 10 minutes to start the system due to hard disk bottleneck)
KinGUI is able to connect to the cluster and manage a user login sequence, but the most interesting examples and features are still not on the public version. Queries also work almost definitively in most of their forms.
Follow this running and testing instructions to have some fun and see the cluster working.

KinGUI is also in beta stage now, it now works smoothly and fast both in Linux and Win32 targets, prints, loads and saves files, copies and pastes to/from clipboard, and most of the things you can expect on a GUI.
Instructions on how to set it up are into generic KinGUI install and compile section. It may even work with no KinDB server at all.

There is also a Wiki with examples, cases and many tips and tricks to help setting up and running the whole thing (and also to give an idea of what can be done).