[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MirageOS-devel] Mirage and External Data Storage

I appreciate the feedback, Richard. Â

There are implementations of the protocols for mysql and postgresql that popular. I've done some digging and have found pure ocaml implementations for both redis and mongo. I'll have to do some experimenting and see what the results are like.

I'll leave it to folks far smarter and crazier than I am to remove the external POSIX dependencies from things likes of libmysqlclient.

On Wed, Dec 10, 2014 at 3:20 PM, Richard Mortier <Richard.Mortier@xxxxxxxxxxxxxxxx> wrote:

On 10 Dec 2014, at 19:58, Brian Brietzke <bbrietzke@xxxxxxxxx> wrote:

I think I may have my own answer, but I thought I would ask anyways. Â

I would like to be able to interface the Mirage images ( either running on xen or just through unix ) to be able to contact external data storage systems ( i.e. postgresql, mysql, redis, mongodb ) so that it can some data processing. Â

I tried using sqlite3 with the bindings forÂOCaml, and it gave me an error that it can't load then extensions,Âwhich makes perfect sense. The files the library is looking don't exist inside the tiny world of the Mirage virtual machine. Â

That means that we would have to use a client library which is totally written in OCaml, no linkages to external dependencies. That severally limits the number of client libraries available, which could or could not be a bad thing. Â

Is this assumption correct? Â

yes, that sound right to me. you can depend on mirage libs but not on external libraries that pull in OS dependencies via the filesystem, threading, processes, whatever.

I'm assuming that it would be a very difficult ( if not an impossible ) task to make the C libraries available from postgresql or sqlite into the Mirage OS. Â

tricky but technically not impossible i think. the trick is to remove all external (POSIX) dependencies... :)

another option might be to interface using a network protocol-- i'm not particularly familiar with those storage systems directly, but if any support (e.g.) an http or other network protocol api, implementing that for mirage (ie., in pure ocaml) *might* be a more straightforward option...



[ This address fails on Dec31. Use richard.mortier@xxxxxxxxxxxx subsequently. ]

This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.

This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.

MirageOS-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.