---
layout: post
title: A learning exercise with python
date: 2013-09-11
## Make sure to change these
published: false
hidden: true
sitemap: false
---

I was reading Python’s documentation in order to start working on an app
for a friend of mine, Python fits well in that project because the list
data type it supports. While reading about lists and sets in specific I
thought these Python features could serve as the basis for a DBMS
development exercise, and it is how it all began.

I started thinking about the specific implementation and wrote some code
to kick start the project, it is hosted in Bitbucket and is released
under the Apache 2.0. license terms so anyone can join the learning
experience by contributing to XE which is the DBMS’s name.
<https://bitbucket.org/ecelis/xea>

As I said above, the plan is to leverage Python strengths, besides the
sets and lists the language provides modules and methods for handling
the filesystem. So to avoid unnecessary complexity the storage engine
uses the underlying operating system’s filesystem hierarchy; this is not
an original idea, until the year 2012 I was working for VectorstarDB a
company whose main product was a column oriented DBMS (you can read a
technical overview about it [here](http://bit.ly/1efSFG6)), I’m only
recycling some ideas from there.

It is not my goal to develop a commercial product or anything, I think
about XE more like some sort of Minix, a tool for learning DBMS design
and implementation, along with gaining Python experience along the way.

EOL