• NoSQL databases and the future of the web

    Could you tell us some about this?
    NoSQL is a schemaless database. In other words there is no predefined structure to a table in the database. You simply create a database and then from there you can literally insert any data into this database. It uses JSON to read and write the data to the database. Instead of doing a SELECT WHERE you have to pre-setup views on the back end of the server. There are many changes to the method of operation that will make it a serious hurdle to adoption. It has a ton of potential though and people who can see this potential stand the most to benefit from this technology.

    NOSQL on the other hand can automatically relate various parts of the db (I think) the biggest bonus that I have seen from nosql's is the ability to store the database as files and not sitting in a database. Which can mean on larger db's less resources being used as the db doesn't sit in memory it sits on your hdd but that also slows the process down on accessing but no need for 100 mysql servers clustered together to serve the db only 1 server with 400terrabytes of hdd holding the db.
    I built a 3 server cluster in about 30 minutes. Never having touched this application before. This was specifically BigCouchDB which is a project by Cloud Ant that takes CouchDB (an Apache Project) and really makes it into a true cluster. Adding a new node to the cluster is literally one command. It is super simple to manage and run. It stores data in at least 3 locations automatically for redundancy and does not used database locking. As a result some people will not see the latest version of an entry when they load a page. Atleast until this data replicates to all of the servers that data is being served from for the site.

    At my age, I'm fed up of things going full circle when people want to think about solutions for a problem. Besides that, I want something that is completely portable if I want to change hosting for a small site, and goes like a rocket as far as the end user is concerned. I don't want to think about the back-end, I've got my activities spread across half a dozen domain hosts and site hosts so my links look genuine.
    I understand this completely. I am 36 and have been on the internet since 91 (BBS's since 83). So I have seen a ton of technology come and go. I have been creating and using databases for over 15 years now. I was not impressed with Ruby on Rails. I haven't been impressed with a programming language since PHP first came on to the scene.

    Here is my biggest concern. MySQL is owned by Oracle now. They have already done away with the commercial support and will be phasing MySQL out. So what happens to all of these OpenSource CMS's (WordPress for example) and frameworks? Will everyone get caught with their pants down and have to migrate to PostgreSQL? PostgreSQL is a much better database server than MySQL by a long shot. Just hang out in the #postgres and #mysql channels on freenodes IRC servers and you will see that the level of compentency is 100x higher in #postgres compared to #mysql. That only speaks to the community's intelligence level, but it is also a good indicator that there is a good reason to be using PostgreSQL instead of MySQL. Needless to say I think that MySQL has a very finite lifetime and will be going away very soon. Yes, since it is open source others can pick up and branch off from the current code base. But I honestly do not see this happening any time soon. No one is even talking about the pink elephant in the room, but it is there and there is really not much that can be done about it.

    I agree that most people are only interested in using hosting as a service. I am one of the few who is also interested in the infrastructure that powers my websites. That gives me an advantage over other webmasters who are reliant on admins to tune their servers. I know how to squeeze performance out of my servers to give my site that extra edge over others who are just running stock installs, or have to pay extra money to have caching modules loaded or other customizations to the OS. It also leaves the webmaster at a disadvantage because now instead of understanding the right way to solve a problem they are reliant on whomever they can afford to pay for guidance. Which is not always good guidance.

    There are very few hosting providers who are even offering NoSQL database support. I think this will change though. The biggest benefit I see with NoSQL is sites with tons of content. Look at the IMBD and other mutlimedia catalog sites. Every movie even though they are related has tons of differences in the metadata for each show. Just imagine a service that offers all of this data to people to serve up on their own websites. The data is served up in a standardized format with the CSS information being available to everyone so they can style the content to fit their own site. Maybe I can easily setup my own node to replicate this data locally to my server. Maybe I pay a nominal fee to have access to this data. Now though instead of having a SQL database that is at normalization level 3 I have access to the data and can use a simple JQuery plugin to parse and display this data on my site.

    As much as I agree I hate dealing with changes, things are changing drastically. All of the portable devices that are available now that are web enabled that do not conform to current web standards (lack of Flash support for example) are a major concern. Having to write mutliple versions of sites to work on the various devices is a major hassle. This is what HTML5 is supposed to address. Like it or not technology changes. The only time it matters in my opinion is when technology is updated to support new hardware. I was never a fan of the whole "Cloud Computing" nomenclature. I mean a cluster is a cluster, it is not this new "cloud" everyone keeps talking about. Once the new SeaMicro servers were introduced I changed my mind quickly and see tons of value now in a true cloud computing platform. That change was imperative and it really fits with the way the web really works. So while I can agree that changes just for the sake of change are pointless and counter productive, RoR not working with a very simple relational database without major work was stupid and pointless for example, there are times when change is good and is actually necessary to keep up with changes in the way devices that access your site operate.

    A company that does not recognize when their biggest vendor is about to go out of business and is all the sudden caught with its pants down is a company that is going to go out of business when it hits the fan. What happens when a major exploit is found for MySQL and Oracle has completely dropped support for MySQL? Maybe Oracle introduced this hole in the first place right before they dropped support for it? Is the community just going to jump up and release a patch for it? How are people going to get this patch? Will it be up to the repository maintainers? Will everyone just move to Windows?

    -WBG
    This article was originally published in forum thread: NoSQL databases and the future of the web started by WannaBeGeekster View original post