nosql databases - what are these good for? [closed] - nosql

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
Recently I watched some old Oredev presentation on NoSql databases. I learned a bit but I still don't know when these databases are typically used. When it's good to use one and when it's not? Before I start learning any it would be great to know if there will be any opportunity to use one. Do You have suggestions on what db to try first? I'm working in .NET, learning some Ruby.

I learned a bit but I still don't know
when these databases are typically
used. When it's good to use one and
when it's not?
I would recommend to read for example these:
What Should I Do? Choosing SQL, NoSQL or Both for Scalable Web Applications
35+ Use Cases For Choosing Your Next NoSQL Database
The NoSQL Ecosystem
Before I start learning any it would
be great to know if there will be any
opportunity to use one.
Opportunity knocks at the strangest times. It's not the time that matters but how you answer the door.
Do You have suggestions on what db to
try first?
If you have .NET background try to look at MongoDB or CouchDB. Answer to this question however may depend on what is your scenario or what is the nature of your problem where you want to apply NoSQL solution.

Here you can read something about:
The Big List of NoSQL Use Cases
I think that MongoDB is a good starting point.
Getting Started with MongoDB and C#

Related

high volume database choice for php [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I am about to develop website using YII framework. But i am not quite sure about which database i should use.
Generally insertion and selection would be there in a website. Data would be come from different relational tables as i will have more than 50 filters so that user can see what ever database they want to see.
Here is the example of website. http://property.sulekha.com/
I want to design something like this.
which new concept i can use for the optimization, for better performance.
I have few concept in my mind which i am supposing to use.
1) MemCache
2) HipHop PHP
3) Doctorin ORM
I am just wondering how facebook search is working, are they using any advance tool for search??????
Facebook architecture is a fascinating one, and you shouldn't try to copy it, because you don't need it, and as we all know, premature optimization is the devil.
scaling issues are not something you prepare for, unless you're working for an enterprise and know first hand that you'll recieve huge amounts of traffic from day 1, like the new mega.
if you're talking about a large de-normalized table, which sounds so by applying up-to 50 filters, maybe you should consider a NoSQL solution, like mongoDB.
from what I know about facebook search, is that the servers are clustered, and are basically pointers to the "real" data, which means that alot of their data isn't a physical one, but as I said, unless you plan on sporting 1 billion users - that's over your head as of now.
good luck

What is an "Object Database" and when is it beneficial to use one? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I'm quite familiar with what I understand to be relational databases such as mysql where you have tables, rows, columns and joins to figure out how content relates.
Someone suggested I use an object database for a project I'm busy with but I don't know what an object database is nor when it would be beneficial over a relational database.
I have already googled, wikipedia is a wealth of information (yes, sarcasm) and I must admit the few links I followed were not particularly enlightening. I therefore turn to the future google; crowd sourcing information. Does anyone know a good article I can read, or could anyone explain it to me.
Thanks in advance.
The main idea behind an object database is that you would be storing the objects as is inside your database, e.g. not breaking them up into relational constructs like tables with rows and columns.
The basic premise is that retrieving an object from such an object database would be much simpler - just "grab" the object, no mapping, no translation or anything needed.
See some links for more information:
db4o (db4objects) - maker of an object database for .NET and Java (open source)
ODMBS.org - site with lots of good (and freely useable) information on ODBMS
The biggest challenge for OO-DB is making the finding and retrieving of those objects stored as simple as possible, and also provide good performance. And their lack of widespread use also hinders their adoption.

Flexibility of Yii [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I have come across a fair bit of information on CI being a really flexible framework. Does Yii also allow great flexibility? And the ability to pick and choose when to use it or your own php?
Flexibility is very subjective, so this question is a bit vague.
From my experience I can tell you that Yii is very very powerful, but in most cases when you want to go into really advanced territory you have to do things "Yii's way". If you do, you will find that the pieces of the puzzle click together really well and things go smoothly. If you don't (because presumably you haven't realized yet what "Yii's way" is), it's going to give you a hard time.
I am using YII since 2 years. I use it with combination with Zend AMF and create backend systems for Flash campaigns, create HTML5 webpages, simple pages, different competition pages and and find it usable for every case you need. The main advantage that it is really structured, logical and fast. So because of that I am spending my time on creating application logic, not on setting up environment, setting up all requests, pages, subpages etc., MVC model + ActiveRecord saves my time here.
I have been using Yii for a year now and find it very flexible. You can add your own methods to any model or write components outside models. You need to be familiar with the MVC structure, Object-oriented programming and for writing components, you need to know how to register the component in the config file and how to call it the Yii way.

PostgreSQL nested queries performance [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
Are there significant performance issues when using nested(2 level deep at max) queries in PostgreSQL?
I use version 8.4.2
I am asking because I am planning to use quite a lot of those soon on a busy website..
The boring answer: it depends on the query and your data.
To write (and read and understand) a nested query might be easier than writing a non-nested one, but you might end up paying the price in reduced performance. During my previous database project we ended up rewriting quite a few of the more critical queries to avoid nesting and we saw order of magnitude performance improvements.
EXPLAIN is your friend. You should learn to love it and how to use it :)
http://www.postgresql.org/docs/current/static/sql-explain.html
Not really.
If you want to improve, does not forget to runs analyze on all tables periodically.
Your question is waaaaaaaaaaaaaaaaaaaaaaay too general. There isn't any inherent issue with using "nested" queries in Postgres, no matter how many levels deep. You need to post specific queries if you have issues.
Additionally...if you're designing a new system, then why 8.4 and not 9.0? And even on 8.4, you should update to 8.4.5.

What is the best choice when going for NOSQL on the windows plattform? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I'm a .NET programmer and want to have a look at a alternative to RDBMS. What is the moste mature choice at the moment (most mature drivers and most functionality in the database)?
I have looked at MongoDB and I'm pleased with it.
I think this is not the right question. The question "which NoSQL DBMS is most X ..." is not of th same form as "which RDBMS is most X on ..."
Why? Well, NoSQL is not really clearly defined. There are a few recurring characteristics (distributed, large volume, map/reduce processing, scaleable, redundant, not-relational, schemaless) but none of these are defining characteristics. To put it bluntly, NoSQL is a bucket of techniques and products, each with their own special underlying design goals and applicability.
With traditional RDBMS-es the similarities are much clearer.
So I guess you should ask yourself, what do you want to achieve? Then look for a product/technique to match it.
You might find some helpful information here:
Non-Relational Database Design
Are there any stable and production quality nosql datastores ?
What NoSQL solutions are out there for .NET
You absolutely must gather your requirements and evaluate as many options as you can.
As you're likely to be deploying a massive system that will need to be maintained for years, the cost of a poor choice is very high; try to get your entire development team's input on it, as it will matter (it's them who will need to maintain it, after all).
Operations is as important as development; get your operations team's input too if at all possible. As a "nosql" based system is likely to involve many physical machines, it may require a lot of effort to maintain by ops engineers if problems are frequent. It is important that your ops team understand how such a system works.
Maturity of drivers (aka client library or whatever) clearly might be a factor, but I rather suspect that its actual features are more of an issue. None of these systems behave the same, and all offer different feature sets with incompatible interfaces which are not similar to those offered by a traditional RDBMS.
Besides Mongo, there's RavenDB and FatDB. We're looking at the later since the product also comes with a work queue...plus support is US based.