Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
I am designing a software that will be deployed to one single server. I will have about 1TB data and there will be more writing than reading.
I have an option to buy a good server. I also have an option to use Redis and Cassandra. But I cannot do both. I doubt if it makes sense to run NoSQL on one single node. Will I get enough speedup over traditional SQL database?
This type of questions is very problematic as it calls for an opinion, which is at most cases highly subjective.
I cannot speak on Cassandra's behalf for better or worse.
Redis is an in-memory solution - that basically means that whether reading or writing, you'll get the best performance available today. It also means that your 1TB of data will need to fit in that one good server's RAM. Also note that you'll need additional RAM to actually operate the server (OS) and Redis itself. Depending on what/how you do, you could end up with a RAM requirement of up to x2.5-3 the data's size. That means ~4TB of RAM... and that's a lot.
If the single server requirement isn't hard, I'd look into loosing it. Any setup, Redis or not, will not offer any availability off a single box. If you use a cluster, you'll be able to scale easily using cheaper, "less good" ;), servers.
If there will be more writing than reading then redis is probably not your answer.
Cassandra will handle heavy writes pretty well, but the key question is: do you know your read queries ahead of time? If so, then Cassandra is a good solution. However, if you plan to do ad-hoc querying then Cassandra is not the answer. This last point is actually the key one.
Related
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 3 years ago.
Improve this question
I am already using sqlite which comes binaries , so when build electron it compiles with respect to native os.so no prerequisites to install and use my application.
in the same way can i able to use cassandra in electron ??
It makes no sense - Cassandra is the distributed system, and designed to run in clusters of several nodes. Besides this, it has relatively high requirements for memory, and CPU, so your users won't be happy if your app will require at least 2Gb of RAM and multicore CPU to run.
You need to define what you kind of operations you want to perform, and then select database. If you need something like key-value store, you can use RocksDB, for example, etc.
Ian: Your scientists were so preoccupied with whether or not they could, they didn’t stop to think if they should
In short, You can use any DB and build an electron app. But are you sure its the right choice, when considering a small tiny hello world app in electron takes up 150 MB?
I searched a while, i seen this helpful links
Link1
Link2
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
I've got a web app where I use plain file system for my custom logs - a lot of small files, I don't want to put that into db, that works for me quite well. But now I need to scale my app by using a load balancer in front, so I also need to keep those logs in sync between servers. Is there any reliable solution for such cases ? I know I could sync it by some OS means, or by scripting, but I'm thinking if there is any better solution for such scenarios? Is it the case for MongoDB usage or something more modern or is it better to keep it on file system as plain files ?
This questions is going to get you some heat since essentially your asking for our opinion. Ill be frank tho and wont argue with anyone since its just MY opinion. With web apps in my humble opinion, its always better to keep your data in a DB for scalability but also for analytical research. I know little about what your app does but its easier to write third party data apps that tell you how many of X or Y etc when its centrally stored in a DB. Since the app that gets said data can be anywhere. I know I probably wasted time with an argument but hey, hope I helped a bit.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
This is not a holy war question, I'm just asking what framework would be the best choice in terms of performance in my specific project.
I'm writing a REST API and choosing between Node.js and Sinatra. One method of the API will be used very frequently (± 100k requests per day).
This request is very simple: select one row from a database, make a few calculations, update one row in a database.
But, as I said, it will be called frequently and I need to choose a framework that will perform better in this case.
This is a simple app and in this case I don't care which framework is easier or "better", just interested in the performance. I already wrote a prototype in Sinatra, the whole app is less than 150 lines of code.
I read about Node.js, but never created a real app with it.
Will Node.js be a significantly better choice for this project in terms of performance and scalability?
100k requests a day is roughly a request per second assuming a flat distribution of requests during the day. Both solutions will probably serve that without a problem. You're probably falling into the premature optimisation trap.
That being said, Javascript, because of it's asynchronous nature is significantly better at high i/o than Ruby (Sinatra is just a simple web framework, Node is just how you run Javascript on a server).
Now as per the "what should I do", I suspect most people would tell you to use the prototype you already have working and use it until it's no longer good, if it ever comes to it. Seeing it's such a small app it shouldn't be a problem to rewrite it later with Node anyway!
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I would like to become a Hadoop administrator. I have a copy of the book 'Hadoop Operations' and i would like to get my hands dirty with setups et al.
So here's the question: Should i invest in a physical server for practice? or is it all done in the cloud?
Don't invest in a physical server, unless you're sure (and I mean SURE) you want to spend hundreds of CPU-hours in practical exercises. A more cost-effective option may be to get an account with a IaaS provider (such as Amazon), and experiment with virtual machines. You can turn off unneeded VMs when not doing exercises, so your costs could be a lot smaller. Plus you can get many VMs for short periods of time without huge upfront investments.
Some of the most challenging aspects of administering Hadoop is dealing with large clusters and clusters that are highly utilized. Unfortunately this means that there is only so much you can learn on your own, as both of those scenarios can be very expensive and time-consuming to set up. So don't try going too deep on your toy cluster, instead get familiar with the basics & configuration options and then try to find a job, or a project where you could join an existing ops team.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 3 years ago.
Improve this question
I mean, can you use couchDB for:
CRUD of items, users
bids and auctions resolutions
bidirectional califications
forum
items comparison
You could try to use CouchDB for an application - as to whether you would be successful is another question.
Something on the scale of eBay will have special requirements that are not representative of a typical application, If you are building a small auction site then perhaps CouchDB would suffice. A document-oriented database like CouchDB may not be so hot when you have to deal with transactional/records-based data like that associated with auctions.
I think couchdb would be excellent for part of the problem, though there are a few elements that would not be great. Particularly, eventual consistency over distributed nodes seems really bad for real time bidding.
You could keep the the item and user info in CouchDB, along with forums and a lot of that sort of stuff, but some functionality (bid tracking, search) would be more suited to other backends. As an example, the CouchDB guys are looking at tying CouchDB into other tools (like SOLR) for indexing, etc.
I would look to see how Amazon uses SimpleDB internally (or do they?). Might have some clues as to right ways to use a document-based database.
As you can see here they are indeed using non-relational approach, so I guess you're heading in a correct direction (flexibility-wise at least).