I will start a POS 开发者_开发技巧(point of sale) system that will begin as a regular intranet system (in his initial-beta stage) but I want to scale later to a cloud offering. I will offer it as a hybrid solution.
I want it to use firebird, because the easier deployment, minimal footprint and the ability to use a embedded multithread server. However, I worry if firebird could be used for a cloud service with fault-tolerance, data replication, etc... to be reliable enough to small companies put his business on it (similar to the service of freshbooks).
My other option is use Postgress, but I have not experience with it.
Is FB good enough to be use as SAAS backend? Any successfully implementation?
P.D: I thinking on deploy it on GoGrid or Rackspace...
FB is a great option and it can handle large data sets and has the ability to span a db across multiple files . I've been using it in a couple of web projects most recently on inmobiapp.com. But the one thing I see lacking is replication, so far the only solution I've used is called ibpreplicator it's a very good rep. tool if configured properly. You can try it for free but you have to buy a license.
Also consider driver support for the programming language you will use. Last time I checked FB on Rails support is not that good on the other hand PHP has great support for FB.
You should code your POS application without any knowledge of the SQL backend. That way you can switch backends at any time. It's also advantageous that application code not understand the innards of the persistence code, otherwise you have a layer violation.
A common way to do this is to use an Object Relational Mapping (ORM) library. This Firebird FAQ recommends some ORMs that work with Firebird.
Firebird is a good RDBMS but unfortunately not very wide spread in either web-applications or hosting companies.
Personally I like the FB software, but not too keen on the community around it.
And making UTF8 work with locale case-insensitive ordering... That's what made me give up on it..
I'd recommend postgres, mysql (or mariadb).
Some people still thinks mysql is unstable, I've never had any problems, but not worked with data larger than 1GB.
Whatever you choose, schedule backups.
UPDATE Someone downvoted my answer. Sharing my bad experiences with the FB Foundation and to be precise, with H. Borrie doesn't make this answer "not useful". If the attitude has improved from the docwriters, I sincerely congratulate FB.
Excuse me sounding a little harsh here, but hybrid is bullshit. I like the idea of a SaaS POS but don't spoil the fun for yourself by going down the long and windy path of on site software maintenance support.
No on site maintenance is the single most attractive reason for a SaaS solution for both, the customer and you!
Make it a pure SaaS app from the beginning with proper full screen browser support, streamlined usability and SSL encryption. Also think about competitors especially Square, because your system will rather attract small merchants and Square is all over them.
If you don't do on site in the first place go with a proper web framework and ORM right from the start. You can optimize things later, when you have a reason and the experience to do so.
Now this is only my opinion, but think about what I just said and especially think about it not purely from a technology point of view.
精彩评论