Mongodb .net client options, which one do you prefer? Why? - mongodb

* mongodb-csharp driver
* simple-mongodb driver
* NoRM
There are three mongodb clients for .net, all of them appears to have same numbers of followers.
As i am new to mongodb can't differentiate both by just looking features right now.
If you are using any of this client provider can you please share your take on it?

I have been using the recent git builds of 10gen's mongo-csharp-driver. It was a bit too bleeding edge when I first started testing it, before the 0.5 public release, but its quite stable now.

I am the lead developer of MongoVUE - a popular .NET based windows admin tool for MongoDB. MongoVUE uses mongodb-csharp (0.9 master). My experience with the driver has been very good - it is quite robust. It performs well in multi-threaded situations. The community and developers are active and resolution to problems can be found in a few hours even during weekends.
I am evaluating simple-mongodb and may migrate to it as it matures (bugs+speed mainly).
Regards,
Ishaan

I like samus driver. It is stable, fast and has all features of MongoDB as i know. Read this article;)

Related

What are the top 5 deployment automation tools?

I am using IBM UrbanCode udeploy, great tool but afraid IBM will kill it sooner or later with their slow response in supporting. What are the other choices?
UCD isn't going anywhere. Its in high demand these days, and is gaining traction in z/OS shops as well.
However, there other popular tools are Chef and Puppet. Just be prepared for manual data entry and less friendly interface. They work, but are more work to use.

Can mongodb be used as an embedded database?

I am working on a RSS reader application. And I need to find a backend database. I want the database be embedded because I don't want the users to install a database server.
I know SQLite is a good choice, but I am wondering if there are any other nosql choices?
(I don't yet have 50 rep points to comment on, and build upon, the accepted answer; otherwise I would, sorry!)
You can embed MongoDB in your OEM solution but there are two things to consider:
It is written in C++, so if you are coding in a different language you might need to write a wrapper that launchers the database process separately.
MongoDB is licensed under Gnu AGPL-3.0 which is a copy left server license. The accepted answer, and the Google group quote, both correctly state that this would normally force you to also be AGPL licensed. However, they MongoDb states that the intention of the license is to allow refinements to their code to be submitted back, and that your product will remain separate. This makes me think that the normal copy left rules don't apply.
The goal of the server license is to require that enhancements to MongoDB be released to the community. Traditional GPL often does not achieve this anymore as a huge amount of software runs in the cloud. For example, Google has no obligation to release their improvements to the MySQL kernel – if they do they are being nice.
To make the above practical, we promise that your client application which uses the database is a separate work. To facilitate this, the mongodb.org supported drivers (the part you link with your application) are released under Apache license, which is copyleft free. Note: if you would like a signed letter asserting the above promise please request via email.
Source: http://www.mongodb.org/display/DOCS/Licensing
According to the Google Group, yes it can, but it doesn't cover how exactly.
Yes, but it isn't pretty and will
force your app to be AGPL licensed. If
you are interested take a look at how
the tools handle the --dbpath option.
Source: http://groups.google.com/group/mongodb-user/browse_thread/thread/463956a93d3fb734?pli=1
If you're using .NET, one option might be RavenDB, which is a document database, and can be embedded.
Please checkout https://github.com/Softmotions/ejdb
This project being developed to resolve this issue.
How about Couchbase Lite? It's an open source, embeddable document database. While it can function as a standalone document database, its real value is in its ability to synchronize with remote document databases. It may be aimed at iOS / Android, but it can run on anything with a JVM.
https://github.com/couchbase/couchbase-lite-java
There is no straight forwarding way to use MongoDB as an embedded library in terms of a well-reusable library. Eliot - head of 10gen - spoke of "it would be nice to have one" - but there is nothing available that could be reused in a sane way.
Looks like a lot of OEMs are trying to get Mongo on to their hardware and devices for real-time processing. A link from MongoDBs website
I usually use Buildroot to create a cross-compiled Embedded Linux root file-system along with all the user space packages.
I noticed that MongoDB is one of the packages that's already integrated as one of the Buildroot builtin packages.
You may check out MongoDB make file for some hints regarding how to built it for Embedded Linux.

Is FireBird still alive? [closed]

This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. For help making this question more broadly applicable, visit the help center.
Closed 11 years ago.
I am looking for some embedded databases. SQLite has some issues with the GUI. What about FireBird? How active is it's mailing list and forums? Does it follow all the rules of ANSI SQL? Is it suitable for production?
Is Firebird still alive? Are you kidding? It is only few weeks since Firebird 2.5 has been launched. We use it in our commercial products both ways, as a client server and as an embedded solution. We found it stable, powerfull and SQL compliant. Comparing with MSSQL there are two significant advantages.
Firebird is free;
Firebird is cross-platform.
I come from a primarily microsoft based background and typically work in C#, asp.net and sql server. I recently started working with firebird for one of my clients. I am enjoying working with it and I am using a tool called databaseworkbench for gui administration right now. I also here that IbExpert is a good gui admin tool. I plan to try it out and there are many others. I actually did not care much for the FlameRobin tool at all but that's just my personal opinion.
In my opinion if firebird shipped with a great built-in gui admin tool it would be much more popular. People struggle to figure out which gui admin tool to use and the gui admin tool you choose highly controls how you perceive firebird as a database because different gui admin tools offer different features and functionality. So far so good though here. The client I am working for right now has about 800 companies running the firebird db as a backend successfully.
Going to Firebird web site and checking their news, releases, and bigfix list will give you an idea how active it is. I am very pleased with Firebird and I can recommend it without blinking.
Sure. firebird is alive with new featurea.
I'm using it on production for long time and big tables
dbvisualizer works pretty well with firebird.
I have found firebird to be pretty reliable. However, there are some gotchas.
Eg,
Select first 10 * from table_a;
instead of
select * from table_a limit 10;
Using an orm to talk to db usually takes care of these differences.
I think, Firebird Development Studio from SQLLY is close to something called IDE for Firebird RDBMS (regardless of the bugs that I encountered while using it), I haven't found other tools that has a refactoring feature that very helpful at development stage.

Are there any CMS based on document-based database?

I did some googling, not much come up.
Drupal 7 has support for MongoDB coming (alpha release).
I found Avinu linked from Mongo's production deployment page. I didn't see any other CMSs there, though. Edit: And they don't actually have any source available right now.
LocomotiveCMS is an open source CMS written in Ruby which uses MongoDB as its data store.

Please confirm: Is Windows Workflow Foundation a good horse to be backing right now?

We are in the process of selecting a workflow solution for a company that uses Microsoft products end to end. Given the news on WF4, in that it seems to be essentially a rewrite of previous versions, is it a wise move to back the current version or should we be looking elsewhere?
Ie - is the current version so bad that we would not be wise to try and use it?
Haiving just launched a project which .NET 3.5 and workflow I'd say that the current release of WF is good enough to use and run with. It has helped us to get a product out quickly (we have the usual feature creep and requirements changing weekly). However, I have a list of complaints with it:
The workflow designer will drive you insane because it is so slow (in certain circumstances) and re-arranges your state machines as it sees fit.
There is no built in upgrade strategy for keeping your old workflows running once you do a bug fix release. If you are going to use WF think carefully how to do upgrades early.
Itegrating with WCF (the send and recieve activity) hide the WorkflowRuntime from you this makes it very difficult to understand what is going on on the hood.
Its not easy to unit test them. There are ideas out there but none seemed particulary easy when we started this WorkFlow Unit Testing
I like the ideas and potential of Workflow based development, however I am not in a hurry to repeat this experience and would probably stick without it for long running processes. One place I would use it again would be in a short, complicated process (like a rules engine for working out prices).
Maybe it is a little late for you, but now that WF 4.0 is released in beta, other people thinking the same question can consider backing the 4.0 horse instead of 3.5 horse.
This goes some way to fixing the following problems:
•The workflow designer will drive you insane because it is so slow (in certain circumstances) and re-arranges your state machines as it sees fit.
[Designer Perf Improved]
•Its not easy to unit test them. There are ideas out there but none seemed particulary easy when we started this WorkFlow Unit Testing
[I think it's a little easier now, some of the introduction to workflow samples include plenty of unit testing]
My understanding is that Microsoft will provide backwards compatibility and/or a migration strategy to the new WF, so I would guess that you are safe to use it. However, I have heard from other developers in my organization that the current version of WF is extremely painful to use. If you have the budget (and depending on the complexity of your workflows), you may want to consider K2: http://www.k2.com/en/index.aspx
I, as a workflow developer, think that current version is painful to use. This is not surprising as this is a v1.0 software out from microsoft :)
I think you should first consider your expectations from a workflow software. Do you have a well defined list of expectations from WF? Acutally I am wondering content of such a list. Maybe we can help more detailed on each topic.
I don't know why people have such negative impressions about WF. Sure it has it drawbacks, but I thought it was pretty useful. The one major issue I have about it is the lack of support for upgrading existing workflow (bullent #2 in gbanfill's list).
Another point to use the current version is that "Dublin" (Microsoft new App Server) will be built on WCF & WF .NET 4.0 but will gladly host 3.5 WF's. So you will be able to migrate to that without a rewrite.
Just a quick note to mention that Visual Studio 2010 CTP contains a new updated WF designer as part of the Oslo objective.