is the ruby mysqlplus adapter production ready - mysql

is the ruby mysqlplus adapter production ready?
have a choice between:
1. mysql library by tmtm (has a pure ruby and c version)
2. mysqlplus by http://github.com/oldmoe/mysqlplus/
3. dataobjects (used my datamapper ORM)
4. em-mysql
Currently using the C version of the mysql gem, that is the oldest and most popular option.
Evented programming is hard, invasive and is a paradigm-shift so that rules out em-mysql :-)
How mature are dataobjects and mysqlplus, was more interested in mysqlplus due to its concurrent driver.

I am the maintainer of DataMapper, and we've been using DataObjects under the hood for several years.
It is production ready. In many ways it is further along than most of other ruby drivers. It supports MRI, JRuby and even Rubinius. It had full Ruby 1.9 coding support very early on. It works with Ruby 1.8.6 to 1.9.2. It has non-blocking support. It handles typecasting of values without any intermediary steps (so the data doesn't come out as a String to be coerced into another ruby type; it comes back as the type directly). It has a unified API between all the DB drivers it supports (currently sqlite, mysql, postgresql, oracle, sqlserver, h2, hsql and derby).
Actually there's a rubysoc project to port AR/ARel to work with DO, and there's a chance it could become the default driver for ActiveRecord.

Related

Portable MongoDB and MySQL/PostgreSQL binaries

I'm currently developing a Python application and I would like to know if there are any ways to pack MongoDB and MySQL (or Postgresql) into the application. By packing I mean taking those application binaries and distribute them with the application files.
For example, Metasploit PRO has some applications like nginx, postgresql, java, ruby, etc... under /opt/metasploit (they come with the application setup), and I would like to know if that could be done with any Linux application. And if so, how could I "choose" what binaries are needed? Would they work for any Debian distro? Can any application follow that procedure? Could it be done with MySQL and MongoDB?
P.D: I would like to do this to distribute one unique application instead of having to "obligate" the user to setup the databases independently, and for pure curiosity.
Thank you very much in advance!
MongoDB already distributes its binaries as standalone binaries in the sense that everything needed for the database (or shell tools) to run is included in the respective binary (mongo/mongos/mongod).
However, these binaries are OS (Linux distribution)-specific. Meaning, for example, they dynamically link against libssl and libcurl and you need to have the right versions of those libraries on the host system. So, for example, a MongoDB binary for Ubuntu 14.04 is likely to not work on Ubuntu 16.04.
As far as I know MongoDB does not support building for "generic linux". Only specific OSes like Ubuntu 16.04 are supported.
With that said, you could possibly build a "portable" MongoDB yourself if you accept some limitations, since its source code is available:
You need to figure out how to build MongoDB on some linux distribution that gives you the baseline glibc that would be compatible with all of your targets.
You may have to forego functionality like TLS connections, or figure out how to link against openssl statically (probably non-trivial).
This would be easier with older MongoDB versions (4.0, 3.6) since they have fewer system dependencies.
I think you can pack the required services and your application as Docker image or Virtual Machine box.
As my experience, I used to package the MongoDB and other Linux CLI tools with my NodeJS web application into a VM box using Vagrant. Or you can use Docker if you prefer container-based application.
If you use Vagrant, the provisioning feature may help you to setup the database before running the application. Check https://www.vagrantup.com/docs/provisioning

Minimal requirements for Apache and MySQL for Symfony 2.8

Symfony 2.8 requires PHP version to be at least 5.3.9, however nothing is mentioned regarding Apache and MySQL versions in the documentation. What are the minimal requirements for them?
Apache and MySQL version are not exactly relevant there: Apache acts merely as a caller to PHP (in the most common mod_php stack), so it does not interact directly with Symfony. Plus Apache release cycles tend to be longer (2.2 from 2005 is still around).
Regarding MySQL, it concerns Doctrine exactly, especially the DBAL - Database Abstraction Layer. Doctrine platforms documentation does not state much about it, we can infer it supports MySQL 5.0+.
Of course, the higher you can go is the better. PHP 5.3 is not supported anymore, nor PHP 5.4 or PHP 5.5 (security bugs supports stopped last week). Apache 2.2 you need the very last "patch" version. MySQL dramatically improved in 5.5+.
If nothing is mentionned in the documentation,then it means any version can be used most of the time.
I think you should simple use the latest version available in your distributions's repository.

DNXCORE 5.0 and mysql / mariadb

For a new project which has to target Linux and Windows, I am searching for a solution to support MySQL (or MariaDB).
Because we have to support those different platforms I wish to work on DNX Core5.0. However I can't find any nuget packages / connectors which I can use to connect to the database. the one that i find are not supported by DNX core 5.0.
Is there a way to connect to mysql in DNX core 5.0 ? Or do you have to fall back on ODBC connections, i don't know if this would work...
Further i was searching for an ORM to support this, my research till now found out that
Entity Framework 7 is not supporting MySQL at this moment. (and EF is not my favorite ORM at this moment)
NHibernate: Currently nobody is working on it and it will be difficult (breaking changes) to port it to DNX Core
Dapper: (MicroORM I know ...): This is supporting DNXCore but i need a vallid IConnection which I can't create.
Thanks for your feedback!
Rob
I asked a similar question a couple of weeks ago. There is no MySql connector for DNX Core. I had to fall back to DNX 4.5.1 and was able to use MySql with Entity Framework in a project that's running inside a Docker container. Also see the response to my question.

What version of MySQL should I use for a CRM?

I've read through a number of pages detailing the version differences between the different MySQL versions, but none of them have given me a real clear picture as to what is best for the application I am making. I'm in the process of building a CRM which will handle 20,000 customers at launch and built on a LAMP stack. The OS will either be CentOS or FreeBSD.
Right now for test purposes we've been using a MySQL 5.0 server for the database, but we are wondering which version we should use for production. If anyone could give some thoughts as to the pros and cons of using 5.0 vs 5.1 vs 5.5 vs 5.6 in the context of a CRM application, it would be most appreciated.
TL;DR 5.5
For a new software rollout, it makes sense to integrate and do final testing with the latest generally available (GA) release of your infrastructure components.
Right now that's 5.5.20 of the MySQL community server. 5.6.x is considered a development release. It probably doesn't make sense for you to try to do integration and final testing with such a release, unless it offers a new feature that's a critical success factor for your new software. (But then you should ask yourself whether it makes sense to make your product dependent on exotic new features in unfinished dbms releases.)
EDIT... #rkosegi has a good point. If you're going to deploy on an enterprise grade linux server distro like Red Hat Enterprise Linux (rhel) use the version it supports. 5.1 works fine.
I think better you should use v5.1.XX because it's in active development state and stable too.
MySQL has stopped working on v5.0 i guess extend support also will expire soon.
http://dev.mysql.com/doc/refman/5.0/en/

JRuby Community Support

We are exercising various technology or framework options to develop our new portal or web-application on elearning. So the favourites on the list are (not in any specific order)
1. Rails
2. J2EE
3. JRuby
So wanted inputs on the JRuby community support if we get to choose JRuby framework. Also want to know JRuby advantages. I have gone through some of the coolest advantage of JRuby, still want to konw if I missed something
1. Threading => Scalabity
2. Performance 2.5 times faster
3. Usage of both what java and ruby got to offer
4. Unicode support of Java etc etc.
It seems you're comparing a web development framework (Rails) with a enterprise development and deployment platform (J2EE) and a language implementation (JRuby).
If you develop a rails app and deploy it using warbler & glassfish then you'll be using all three things!
Perhaps rephrase?