Is there such thing as a portable database that runs easily OsX and Windows?

1

I need to make a small database for a project at school (not computer related at all, I'm indexing and categorizing paper documents of a research projet).

The thing is that in september, my semester is over and other students will have to taker over the project (and so on, for every semester!), so I'd need something that would be free and OS agnostic (or at least OsX/Windows) so it would easily be given to the next students on the project.

I was thinking about a WAMP running USB key that would have a MySQL / HTML interface, but it will become locked to the OS I choose first. LibreOffice and the likes will be an option in the end if I don't find anything truly portable.

Anyone has a solution in mind?

Jean-Philippe Murray

Posted 2014-05-27T11:54:38.893

Reputation: 115

does it need to be multi-user? if not, sqlite may be of use. – Rich Homolka – 2014-05-27T15:02:57.763

SQLite DB files are "portable" across a wide range of environments. – Daniel R Hicks – 2014-05-27T15:19:49.637

@RichHomolka nope, no need for multiusers. – Jean-Philippe Murray – 2014-05-27T15:51:07.780

@DanielRHicks although the interface needs to be usable in every environments for people who doesn't know technicality. (I mean, they could always have to find an interface for it, or I could provide one that is defacto perfect and sustainable in time.) – Jean-Philippe Murray – 2014-05-27T15:52:33.560

Answers

1

Libre Office would do the job but I agree that a web-based solution would be better. As long as you are careful, you can use WAMP/LAMP/MAMP interchangeably, just take care when using OS functions, especially filing system functions.

You could also use SQLite instead of a server-based tool which would make it easier still to move between systems.

Personally, I'd recommend using Node.JS with SQLlite as this is easily spun up on any platform. Again, take care with filing system references but that isn't especially difficult. That way, you don't have to keep some servers running on your desktop, starting a Node server is very fast and you dont need a server to run the database.

Julian Knight

Posted 2014-05-27T11:54:38.893

Reputation: 13 389

I'll look into this later on tonight. I never checked Node.js, although I don't see it being too much of a problem. And I've googled a bit, I found some tools to make a shell so it runs in a desktop. That'd be dumb proof for the future! – Jean-Philippe Murray – 2014-05-27T14:20:52.337

Node is great! You can even package it into an executable on Windows, easy way to make some very powerful tools with minimal overheads, great support & loads of available libraries. I use it extensively now so that I only need to remember 1 language for both front and back-end programming. – Julian Knight – 2014-05-27T14:24:56.417

Yeah, I don't know why I never tried to give it a shot. It's like I never found a clear and precise "what is it excatly" anywhere. But now that I've got a reason... I'll have to try it! :) – Jean-Philippe Murray – 2014-05-27T14:26:58.313

Easily answered anyway. It is a JavaScript engine. That's it in a nutshell! If you've ever done Python or PERL, Node.Js is similar but built around the V8 JS engine which is about the best there is. You create your own simple web server with a couple of lines of code. Use some of the very well supported libraries such as Express to give you the power features if you need them. Node itself is very simple and compact. – Julian Knight – 2014-05-27T14:33:13.413

We'll, you've offered what seems now like the best answer to the question I had. This deserves an accepted answer! :) – Jean-Philippe Murray – 2014-05-27T23:04:10.980

Cheers! Just don't forget to put in plenty of comments in your code and leave yourself time to write enough other documentation to explain how it hangs together. – Julian Knight – 2014-05-28T07:15:44.300

0

PostgresSQL, mySQL and friends are open source and ported to multiple platforms. You can have it run on one platform, do a data dump, and load the data on another platform.

Do you think you can do your own appliance? Put this all in a VMWare instance. They can then transfer it from computer to computer. The upside: kind of set and semi-forget. Downside: they'll have to deal with Linux at the point where things go wrong.

I appreciate and applaud you trying to make this kind of set and forget, but at some level there's unavoidable complexity. If you put enough layers on this to make day to day running pain-free, then you'll get a big crash of "how does that work" if it ever breaks. Or even if they just want to add features.

Rich Homolka

Posted 2014-05-27T11:54:38.893

Reputation: 27 121

But I won't be there anymore. And others will almost certainely not be tech savvy, or at least not as I am. Hence the need for me to think of a complete solution that is usable on every platform. I don't see everyone trying to do data dumps and importations every semester... – Jean-Philippe Murray – 2014-05-27T15:54:08.967