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.
|
Features
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.
|
Status
Project is now in beta stage (heavy testing).
A generic Timeline is available. Currently:
KinDB |
- 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.
|
KinGUI |
- 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.
|
|
References/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 sourceforge.net,
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).
|