http://en.wikipedia.org/wiki/MariaDB
MariaDB is a community-developed branch of the MySQL database, the
impetus being the community maintenance of its free status under the
GNU GPL, as opposed to any uncertainty of MySQL license status under
its current ownership by Oracle. The contributors are required to
share their copyright with Monty Program AB.
The page goes on to say that MariaDB 5.5 is binary-compatible with the MySQL of the same version and adds a couple of database engines of its own to choose from.
I also read that Fedora 19 is going to remove MySQL packages in favor of MariaDB.
So the question is, is Ruby on Rails 3+ MariaDB compatible? Are there any future plans to integrate MariaDB features as they start to deviate from MySQL?
Red Hat, Debian, Fedora, OpenSuse, Slackware, and even Wikipedia moved (or are moving) to MariaDB. This means it is stable. Also, MariaDB (and Percona Server) seems to fix security issues much faster than Oracle.
Since MariaDB is compatible with MySQL, all APIs are compatible, including Ruby on Rails API.
(Well, MariaDB 10.0 is not totally compatible with MySQL 5.6, but the incompatibilities are not at API-level!)
You can use Mariadb with any compatible MySQL client. I am using MySQL .NET connector and it just work.
Related
I am trying to modify an existing installation of Elasticsearch (I believe it's version 2.3.0) running on Docker. Most of the information I'm finding online is for newer versions of Elasticsearch, but I'm hoping to avoid having to update the whole thing.
I need to restrict access to Elasticsearch for security reasons. I'm trying to set a password, but so far I haven't had any luck. Most of the tutorials I've found (apart from being about later version of Elasticsearch) talk about using X-Pack, but I don't think this is installed in the docker container. Is it necessary to install X-Pack, or is there another way?
2.3 is super old, there was no security back then and was only added in 5.6
you will need to use something like nginx to manage, or ideally, upgrade to a supported version. Security is free these days as well
How to set up Docker environment for development of two similar web projects, with different versions of the similar software?
Project A
Debian Wheezy
Apache 2.2
MySQL 5.6
PHP 5.4
Project B
Ubuntu LTS latest
Apache 2.4
MySQL 5.7
PHP 7.0
Both projects
volume for web application source files
apache mods: rewrite etc.
editable vhost.conf file
phpMyAdmin
packages like git-core, vim-nox, mc, phing, phpunit, openssh
persistent database, initally populated from .sql file
UTF8 by default
What is the best way to do it assuming, that:
there will be more similar projects developed at once on my host in the future
I want to save maximum resources (disk space, memory and cpu)
I prefer using base images (eg. httpd:2.2 than easyone:lamp), because I have to emulate environment already present on production machines
The Question:
Does anyone know a stable framework which can be used to create a blockchain application, creating a server/node, creating a miner, a wallet, a blockchain inspector, etc?
Such a framework does not have to be in Node.js nor Ruby on Rails, but those are the two technologies I am most familiar with.
Some Background:
I have to craft an internship project based on blockchain technology.
I have been looking at Ethereum which seems nice. Ethereum's GETH command line interface allows me to create a blockchain and also mine that blockchain.
However, I need to be able to use a web-capable development platform such as Ruby on Rails, Node.js, or similar so I can have interns craft a UI to go along with a local blockchain.
I have looked at Toshi(RoR) and BitCoin.js(Node), but will need something that has better documentation.
Thanks for any and all your suggestions!
When I built Etheria, I chose the following:
Development techs:
Ubuntu Linux 14.04
Eclipse Mars 2 (get from web, not repo) (javascript formatting works
well, you can tell eclipse to format .sol files as javascript)
Solidity + chriseth's Solidity compiler at
https://ethereum.github.io/browser-solidity
And for deployment:
Digital Ocean
Ubuntu 14.04
geth (stable, not development)
node + async + express
Notes on choices:
Ubuntu 14.04 for development - As it is the Linux standard, many Ethereum docs assume it which streamlines things. Easy to install geth and keep it upgraded.
Eclipse Mars 2 - Ubuntu's packaged Eclipse is old.
Solidity - Was once (is possibly still) billed as the "official" ethereum language and is easy to learn. chriseth is the man.
Digital Ocean - cheap, easy hosting. My security needs were nil as I didn't need a wallet on the machine. If you plan on keeping wallets on your machine, your risk profile may be different and necessitate other options.
Ubuntu 14.04 for deployment - Easy to install geth and keep it upgraded.
geth - I'm sure pyeth and eth are equally valid. geth is more widely used
node - Seamless interaction with the indispensable and awesome web3.js library which is used to interact with your geth instance (which should be running with local-access-allowed IPC). Async for easy async calls, express for endpoint creation and organization.
My code:
Etheria contract: https://github.com/fivedogit/etheria
Etheria node: https://github.com/fivedogit/etheria_node
Following on from the information found in the blog post titled 'Neo4j 2.1.2 – Maintenance Release', I thought I should check the consistency of a database that has been upgraded to Neo4j 2.1.1.
My set up: Neo4j community edition running on Windows Server 2012 R2 - the binary distribution running as a Windows service (NOT the windows desktop launcher executable).
In the blog post it talks about using the backup tool included with the enterprise version of Neo4j so I have downloaded an evaluation copy (2.1.4) so have access to Neo4jBackup.bat. I cannot however, get a backup to run. No matter what I try I get
Couldn't connect to '127.0.0.1:6362'
or a variation thereof.
I am running
.\bin\Neo4jBackup.bat -from localhost -to D:\DataBackups\Neo4j\check
I have tried specifying a port, specifying IP address, using single://localhost. After consulting the manual more closely I have also amended my config to add
# Enable online backups to be taken from this database.
online_backup_enabled=true
# Port to listen to for incoming backup requests.
online_backup_server=127.0.0.1:6362
Still I receive the same error. I am clearly being a moron. What am I doing wrong? Help!
The question boils down to 'how do I back up a community edition database as alluded to in this Neo4j blog post?
OK so yes. I am a moron. It just came to me. You need to open the database with the enterprise edition!
For anyone who is overcome with a moment of stupidity, like me
Copy the database you wish to check (graph.db by default) to the data directory of your evaluation copy of Neo4j
Start up Neo4j (you may or may not need a store upgrade)
Run .\bin\Neo4jBackup.bat -from localhost -to [your desired backup location]
Sit back and await the results
Feel free to mock/throw rotten vegetables etc at me....! :)
Starting with the 2.1 line (somewhere around 2.1.5 I think) the consistency checker was moved from the enterprise edition to the community edition. It is therefore now possible to check a DB with the community edition too. In the root of the neo4j server directory run:
java -cp 'lib/*' org.neo4j.consistency.ConsistencyCheckTool data/graph.db
Note that this is not an offical API (it's undocumented).
With DataStax Enterprise, is it possible to set up a cassandra cluster that can do cassandra "realtime" and analytics on a single machine? Obviously, this is not for production, but for tiny little proof of concepts / logical experiments, I'd rather fire up a single linux vm, rather than 2 or 3. Would this be possible with a tarball install, if not through apt-get?
Yes. On the latest versions of dse 3.1.x, 3.2.x, and 4.0.x it should be possible to turn both the Solr and Hadoop features on, on the same node for development purposes.