Programming a scalable database

308 Views Asked by At

I want to ask you what programming language I should use to develop a horizontally scalable database. I don't care too much about performance.

Currently, I only know PHP and Python, but I wonder if Python is good for scalability. Or is this even possible in Python?

The reasons I don't use an existing system is, I need deep insight into the system, and there is no database out there that can store indexes the way I want. (It's a mix of non relational, sparse free multidimensional, and graph design)

EDIT: I already have most of the core code written in Python and investigated ways to improve adding data for that type of database design, what limits the use of other databases even more.

EDIT 2: Forgot to note, the database tables are several hundred gigabytes.

4

There are 4 best solutions below

1
loki On BEST ANSWER

The deveopment of a scalable database is language independent, i cannot say much about PHP, but i can tell you good things about Python, it's easy to read, easy to learn, etc. In my opinion it makes the code much cleaner than other languges.

0
Mihai Oprea On

Betweent PHP & Python, definitely Python. Where I work, the entire system is written in Python and it scales quite well.

p.s.: Do take a look at Mongo Db though.

11
brice On

You're looking for MongoDB.

Mongodb has some excellent python drivers. It is a joy to work with.

2
user590028 On

Since this is clearly a request for "opinion", I thought I'd offer my $.02

We looked at MongoDB 12-months ago, and started to really like it...but for one issue. MongoDB limits the largest database to amount of physical RAM installed on the MongoDB server. For our tests, this meant we were limited to 4 GB databases. This didn't fit our needs, so we walked away (too bad really, because Mongo looked great).

We moved back to home turf, and went with PostgreSQL for our project. It is an exceptional system, with lots to like.

But we've kept an eye on the NoSQL crowd ever since, and it looks like Riak is doing some really interesting work.

(fyi -- it's also possible the MongoDB project has resolved the DB size issue -- we haven't kept up with that project).