Fireworks and nosql

It’s official! And this is my way of keeping enough pressure on myself to stay focused. I’ll be doing my first ever public tech talk for SEVDNUG. It’s on Oct 28th. Details here.

It’s an introductory to NoSQL, and what its about. There will be .Net code albeit simplistic (its just an introductory). If you don’t already have a fair grasp of NoSQL, you will by then end of this talk. Even if you do have a nosql clue, you should come anyway. Likely it will be an explosive success or a bombing failure; either way there will be fireworks.

Come prepared to participate in discussion. I’ll have a talk prepared, but I’m fine with the audience hijacking it and we end up messing around with code.

So Oct 28th. 6pm. Gangplank in Chander, AZ.

 
August 23, 2010 14:18 by josh
E-mail | Permalink
blog comments powered by Disqus

NoSQL on Heroku

Given my current kick of learning and using more NoSQL approaches, I find the timing of Heroku’s growing NoSQL support most excellent! ..and Adam from Heroku has his say here.

The Take-aways are this:

  • It’s about adding tools to the toolbelt, not taking away SQL
  • Polyglot Persistence, which is to use multiple datastores in an app
  • NoSQL is a great match for cloud services
  • Heroku will continue to add NoSQL support, and continue their great support of Postgres as well

Adam also talks a little about what a datastore is and whether memcached qualifies as one.

I know we could get VPS hosting and setup Capistrano to deploy a rails app, but using Heroku takes a lot of friction out of deploying rails. It’s easy to scale up, and they have great support for plugging in things like exception and performance monitoring. If TimesheetToaster takes off, I know I’d be able to scale to meet demand on Heroku.

 
July 20, 2010 06:00 by josh
E-mail | Permalink
blog comments powered by Disqus

NoSQL database evaluations

I’ve started reading more seriously about different NoSQL databases.  It seems that MongoDB and CouchDB are both quite good, in addition to RavenDB.  MongoDB has a good both a good .Net library and a few Ruby libraries.  CouchDB has a few Ruby libraries, but I’m not sure about .Net.  RavenDB, of course, has .Net API and is written in .Net.

Rob Conery laid down a public challenge a while ago to build your own blog.  I’ve seen a few people do it including Rob; and I think its worth while.  I’ve been toying with writing a blog to incorporate into the csinc site using a NoSQL database.  It’s a pretty simple data model, and I like the idea of file-based storage making backups easier.  Our current hosting plan limits what I can do however; the plan expires a little later this year though.

So I’m thinking.  And I’m thinking I wish someone would do a NoSQL presentation at our local .Net user group.  Maybe, and this is a very big maybe, I’ll put one together.  A blog engine demo with each of the above three db’s.  As an introduction to NoSQL.  Which is probably better called NotRelationalDB, because it’s data storage that doesn’t use relational data.  Just a thought.

 
July 14, 2010 23:15 by josh
E-mail | Permalink
blog comments powered by Disqus

Different NoSQL approaches

Ayende talks about different NoSQL approaches.

I’ll be putting together some information with similar information; probably at least partly based on this in addition to other information.  The point being to have a simple intro into NoSQL and why it’s worth considering.  I might be convinced to make it a presentation if someone twists my arm.

 
June 3, 2010 09:21 by josh
E-mail | Permalink
blog comments powered by Disqus

NoSQL introduction question

What would you want to learn about NoSQL from an introduction? From a new or novice perspective, what basics would you like to learn about NoSQL and what sort of sample would be helpful?

It wouldn’t be meant to convince anyone, but to educate. Looking for your suggestions.

 
May 26, 2010 11:56 by josh
E-mail | Permalink
blog comments powered by Disqus

NoSQL sources

Just thought I’d post a few NoSQL sources given the recent twitter discussion.. I’ll start with the two guys I first read: @RobConery(blog) and @Ayende(blog).

Also, check out

The nosql-database.org site lists various nosql databases. RavenDB is my favorite right now. One of the big reasons why is because it supports both embedded and server mode. Also, it’s .Net focused and LINQ based.

 
May 21, 2010 00:00 by josh
E-mail | Permalink
blog comments powered by Disqus

My NoSQL conversion

When I first heard of the NoSQL movement, I blew it off. Thought it was ridiculous. After all, I’ve worked with RDBMS for a very long time. On top of that, I was still in the midst of integrating two products where one used file based storage and the performance and scaling for it was just horrendous. It just added to my bias.

But I’ve been wrong before. Many times. And expect to be wrong again soon.

The beginning of the path

 

In the last couple years, I’ve been doing a little mind hacking, as it were. That is challenging my thinking, and tweaking little habits like in which pocket I keep my wallet. The results have been interesting. I’m still no Ayende, no super brainiac coder, but I am getting better.

I decided to start this blog, and therefore had to choose a blog engine. Being hosted on Go Daddy, it has certain constraints to deal with which pretty much led me to choose BlogEngine.Net.  Plus the idea of file storage for entries was intriguing.  I didn’t have to deal with migrating sql database, or even setting one up. No risk of sql injection either. And backups are easy. Then so would be changing hosting if I so chose. It all just started to add up and make sense; and I realized a problem had been nicely solved without and RDBMS. But the lightbulb hadn’t quite turned on yet.

Knee jerks and second thoughts

 

I didn’t heard about nosql until sometime in the last year or so. Rob Conery get’s credit for that, and at first I thought he was nuts. (OK, yeah Rob I still think you’re crazy – crazy like a fox.) Then I started remembering Ayende posting about db4o and reading mongodb source code.  Stuff like that. So I reconsidered why I always think of an RDBMS when considering a new project.  A large of of it was because I learned a lesson very early in my career, and have held on tightly since then.

Which brings me back to challenging my thoughts. I had already realized, in the case of the blog engine, that storage engines can be effective without being relational. I’ve also run into the classic ORM impedance problem. I’ve run into the fun issues with scaling massive sql databases, and just thought that’s the way it had to be. Then again, maybe not.

Fork in the road

 

Please don’t get me wrong; I’m more aware than most how capable a sql server can be. Even and specifically MS SQL Server. I am not abandoning sql though; it would be foolish. Especially since most business will still be using mostly sql for some time.

It’s about not setting artificial limits on yourself and your tools. Maybe sql isn’t always the right answer.  How freeing is it to not have to think about schema at all? Persistence just works. You still have to put thought into it, but some headaches go away. Isn’t part of the draw for Ruby on Rails how it makes working with the database easier and less intrusive in actually building the app?  It is for me; and I’m not a guy afraid of doing anything sql.  Trust me, I’ve got street cred with sql.

I just want to solve problems and build stuff.

Yes, there is value in NoSQL and there is a bright future in that area. There is going to be some good work and thought, and there are already thought leaders working in that area. I believe that business will eventually follow in adopting nosql. It may be slow at first, but will grow. There will be fun work for coders like me.  And keep an eye on RavenDB. It’s already a good product and, I think, there is a lot of capability there.

 
May 19, 2010 10:26 by josh
E-mail | Permalink
blog comments powered by Disqus

RavenDB goes live

Here’s the announcement from Ayende.  And here is the site.

If you’ve read my other posts, you’re probably aware I’ve been playing a bit with RavenDB in my spare time.  I like it a lot; I just haven’t had time to whip out the sample app I’m cooking up.  Actually, I’m hoping it will be more than just a sample.

 
May 18, 2010 10:20 by josh
E-mail | Permalink
blog comments powered by Disqus


about josh

another programmer blogging about his misadventures in writing code.

Contact

contact us for website & software consulting

Decide

decide on pragmatic solutions

Develop

develop your product together

Succeed

achieve your goals with our services