Can ODK operate as a full database?

Hi All

I'm new to ODK. I've looked through the past messages and cannot find anything recent on this topic so apologies if the answer is already available.

I'm working on a project for a charity that really need to move from using excel to a full database. We've looked into ODK briefly and it seems that it could be very useful for data collection, but that it might not be able to act as a full scale database to manage the business through. Are we correct in this assumption or are we missing something?

If it can, can someone please point me in the right direction.

If it can't, and we need to look into something like MySQL or PostgreSQL, does anyone have any experience and / or recommendations of how best to do this for as little money as possible, ideally free obviously.

Any and all help is much appreciated

Per Setting up ODK Aggregate:

ODK Aggregate works with any of these database servers:

Microsoft SQL Server
Azure SQL Server

Which is to say, yes, you can use a 'full database' such as MySQL or PostgreSQL as the backend repository for ODK Aggregate (which is where all your submissions are sent). And once the submission data is stored by Aggregate, you can implement whatever business logic you want against the contents of this database.


Hi Richard,

The community will be in a better position to assist evaluate if ODK is the best tool for your needs if you provide your use case. What type of data/information do you collect? How do you analyse and use the data? What high level problem do you want ODK to solve.

ODK 1 tools: are perfect for collecting longitudinal data

ODK 2 tools: are more focused on case management


Short answer - ODK is a Data collection platform that can use a database to store and analyse results (it isn't a database management system itself).

If you need to move excel files (presumably some business management files) to a database - you probably need a database with some business management software on top (unless you are developing your own software). ODK collects data through forms and can put them into a database. It would make sense when selecting your business software and the underlying database that, if using ODK as well, you put ODK on the same type of database.
Whereas swapping/merging data between systems is best done through a web service or enterprise bus, if that doesn't exist or you only have database skills you can always utilise your database skills to do the same.

As Ronald says - it will be much easier to help you if you can explain in more detail what you are trying to do; what do you do with the excel files that you want to move to a database?

Hope this helps.


Thanks everyone for your feedback. I'm working with the organisation to try and understand their full requirements. That said the elements I do know are shared below

Overall they work with schools to improve the quality of teaching and to support students.

In terms of tracking, and later, reporting, they need to track data on schools, teachers, students, time allocation of staff, and funding, to name a few core areas.

Currently this is all being done, with differing degrees of success, in excel. From what people have said ODK is not the primary solution to this problem, but could well be part of the wider package.

Try Sourceforge (or similar) for School Software (School erp) or School Management System. There are a lot of good (and variable) free systems available; and yes ODK can really complement this type of system well and add a lot of utility.

Good luck and I hope you find something useful.