Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
Which free database would you use for a relatively small datawarehouse system?
Are there any 'special' databases e.g. multidimensional databases freely available?
Which of the free relational databases is best suited for the job?
By datawarehouse system I mean a system that will receive some inserts, few updates, next to no deletes and plenty of complex selects. Structured in star schemas (if the database is relational).
By small I mean about 100.000 records in the main fact table, maybe 10 dimensions, the largest containing 5.000 records.
Be free I mean free of charge of internal commercial use.
Edit: Since so far I mostly only got a list of free databases, let me specify some features that would be interesting / needed:
outer joins (must)
inlineviews / subselects (almost must)
materialized views (nice)
smart query optimizer (the smarter the better)
support for dimensions, roll up, cube queries (nice)
analytic functions (that's the name in oracle, don't know how they are named in other databases)(nice)
We have had very good results with Firebird. It's free, open source, runs on all major platforms and has support for all important database functions.
There are excellent tools available to manage the databases, like IB-Expert which has a free (limited, but good enough) version.
SQLite
HSQLDB
MySQL
PostgreSQL
What about SQL Server Express?
If the total amount of data < 4 gigabyte you can use Oracle XE.
Edit: Jens Schauder came with new 'demands'. I believe that ProgeSQL, MySQL and SQLite don't support analytics.
If the purpose of the data warehouse is not to improve the finances of the company in some way then you should save the effort and forget about wasting your time.
If the data warehouse is actually going to make money for the company in some way then it spending a few bucks on a real system is probably not unreasonable.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
I'm currently building a data intensive web service and I'm struggling to identify the best managed database provider for my need.
In short:
I currently have a database that has 3gb of data.
My database will grow by 6 to 30gb every month up to 1tb (next month 10gb, following month: 30gb, etc)
All my data is constantly being updated so it's not like I'm saving stuff to only use it in read-only mode
Right now I'm using a 10gb managed postgres db on DigitalOcean but I will soon need to migrate my db to a bigger instance (I plan on doing it when I'll reach 8gb of storage in a couple of weeks).
The issue is that I both:
Don't want to have to migrate my database every month for a bigger instance
Don't want to reserve a 500gb database knowing that 80% of it won't be used within the next 6 months. This is not cost effective
I looked at Google Cloud Big Query which seem to scale without needing to migrate databases but I fear that it might end up costing a ton because:
I constantly refresh/update my data in my tables
My queries perform lookups on my tables which can take some time and might be resource intensive (so far my queries are always smaller than 3sec)
It's the first time I'm managing large project like this and I'm not sure about what is the best solution.
Would you have insights?
If you have a relational model and need to update your database very frequently, you probably should not use BigQuery. BigQuery is an excellent option if your purpose is analysis (i.e., few updates and complex queries), but it's not built to be used as a DBMS.
In your case, if you want to put your project on GCP and also keep your data model as similar as possible with the model you already have, I would suggest you to take a look at Cloud SQL and Cloud Spanner.
Both are fully managed Relational Databases. The main difference is that Cloud Spanner is horizontally scalable whereas Cloud SQL is not, i.e. if you need only one node, use Cloud SQL. If you need to grow up your cluster, use Cloud Spanner.
Furthermore, both of them have it's respective Web APIs. You can find the Cloud Spanner Web API reference here. For the Cloud SQL, the reference depends on which DBMS you choose: SQLServer, MySQL or PostgreSQL.
I hope it helps
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
Does it make sense to change from MongoDB to SQL Server in the MEAN full stack (Node Express and Angular)?
In today's data environment, the unfortunate truth is that there is no one "right" data appliance for all use cases. At my last job, we used Hadoop for our streaming data, Couchbase as a web data caching layer, Hive when we needed the illusion of a relational database, SQL Server on Azure when we needed a temporal data store with more than the illusion of relational characteristics, on prem SQL Servers when for the persistence layer where we needed actual relational data, and a Netezza cube for reporting. There's not a handy acronym for that hot mess.
I will say that a lot of shops that are primarily NoSQL focused like Postgres as an RDBMS addition since it keeps with the whole open source philosophy, but your mileage may vary.
The TLDR; answer to your question is that it depends on your use case(s), and there's no avoiding painful hours of research and probably a few false starts before you land on a solution that works for you.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
I am working on quite a large database system and was wondering if there is a tool to evaluate a database design. Essentially I need something that would run through a database, point out slow downs and issue areas. Even better would be if the tool could look at statistics on already running databases and offer suggestions.
If you are using SQL Server, you will benefit from the Database Engine Tuning Advisor. Quoted directly from TechNet, here are the capabilities:
Recommend the best mix of indexes for databases by using the query
optimizer to analyze queries in a workload.
Recommend aligned or non-aligned partitions for databases referenced
in a workload.
Recommend indexed views for databases referenced in a workload.
Analyze the effects of the proposed changes, including index usage,
query distribution among tables, and query performance in the
workload.
Recommend ways to tune the database for a small set of problem
queries.
Allow you to customize the recommendation by specifying advanced
options such as disk space constraints.
Provide reports that summarize the effects of implementing the
recommendations for a given workload.
Consider alternatives in which you supply possible design choices in
the form of hypothetical configurations for Database Engine Tuning
Advisor to evaluate.
I am not sure what database you are using, but of course a good first start in MySQL is often to use the EXPLAIN command:
http://dev.mysql.com/doc/refman/5.0/en/using-explain.html
There are a collection of third party applications that assist with database tuning with MySQL. such as MONyog.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
Is there any 3rd party tool which works like another layer on top of SQL Server, which can analyze the behaviour of the database and make recommendations based on that?
Thanks
Qure from DBSophic does a great job at what you describe. You can also bundle it with our tools (for a much more cost effective offering), SQL Sentry Event Manager and Performance Advisor, which provide general around the clock performance monitoring and alerting (these tools are mostly for use by DBAs, and don't provide automatic optimizations the way Qure can).
http://www.dbsophic.com/
http://www.sqlsentry.net/
https://sqlblog.org/2011/04/21/using-qure-workload-optimizer-for-sql-sentry
Late answer but can be helpful to other readers, I hope
In addition the solutions already mentioned, I can recommend ApexSQL Monitor
This tool will allow you to define custom metrics you want to track (in addition to numerous predefined metrics for the System, SQL Server and Database).
ApexSQL Monitor can also show the slowest queries executing on the SQL Server. It stores individual wait statistics for the single query, and by analyzing waits, you can detect the reasons of slow performing queries. It can also show the query execution plan at the time of execution, which will provide you even more info about slow executing queries.
If its more generic monitoring your after, such as current load, flagging jobs that take longer than usual etc, there are some pretty decent 3rd party tools, Red Gates SQL Monitor is pretty cool, demo here: http://monitor.red-gate.com/
You can use SQL Server Profiler (not 3rd party) to see queries/procedures/etc and how slow/heavy they are. It won't give you any recommendations but you can take further actions once you see where the problems lie.
In lieu of a DBA SQL Server ships with a Database Engine Tuning Advisor.
... After analyzing a workload, Database Engine Tuning Advisor can
recommend that you add, remove, or modify physical design structures
in your databases. The advisor can also recommend ...
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 5 years ago.
Improve this question
I'm curious for technical reasons why you choose Oracle database versus the latest flavors of:
1) Microsoft SQL Server
2) MySQL
3) PostgreSQL
What features or functionality justify the extra cost.
I'm interested in technical arguments, not a religious war.
A friend asked me this and I've always used one of the 3 I listed.
I didn't know enough about Oracle Databases to offer an opinion.
Thanks.
Noone seems to talk about the cost of developers time working with Oracle. Most developers who know any other db hate Oracle, those that don't assume that all DB code and/or ORM tools are difficult to use.
If I started a business that I believed was going to scale to Amazon proportions I might consider NoSQL solutions, otherwise I'd choose PostgreSQL, SQL Server (or indeed even Sybase now) over Oracle every time. I say this having worked (as a dev) with Oracle for 2 years - its terrible to work with!
Only Oracle and Microsoft's SQLServer are closed source, and when something goes wrong and you have a problem the answer is just a phone call away (and cash if course). Anyways MySQL and PostGre have several enterprise consulting services but in the end these consultants aren't really resposible for the product, because the product belongs to everyone. Which is great because you can go in and fix the code if you are good with C and relatively lowlevel programming, but if you aren't finding the solution might become a wild goose chase.
Now since not everyone is skilled enough, and those enterprises with money prefer the security (in the business sense) of the closed source databases, is the reason why these solutions haven't gone out of business, besides the fact that their implementations are solid and worth the money if you have it.
Ok now finally the most important difference is between SQLServer and Oracle and that difference is the OS, most people using Windows will stick with, you guessed it, SQLServer, but if you run on flavors of Unix Oracle is your closed source solution. Anyways I use Oracle on Solaris, but if our target were Windows I would probably use SQLServer because both products are rock solid, but I trust Microsoft has some special tricks under the hood to get the best performance on windows.
Just to name a few:
Oracle Real Application Cluster - provides advanced clustering features
Oracle Data Guard - in short provides physical and logical stand-by features.
Oracle Exadata - implements the database aware storage (that can do predicate filtering, column projection filtering, join processing, hastens tablespace creation). The solution comes with HP servers, full 24/7 warranty, and other nice things. It's quite nice for applications with highly intensive data loading (for example thanks to the independent tablespace creation).
Oracle Virtualization
And of course the magic of the brand ;)
And when it comes to choosing the RDBMS? Usually the choice is pretty obvious - Oracle or the rest of the world. After that you can narrow the choice down by:
platform (windows-only or not)
weight (sqlite, MySQL, PostgreSQL, ...)
budget (initial license cost, maintenance + support cost)
evolution perspectives, for example:
Oracle Express -> Oracle
SQL Server Express -> MSSQL
business perspectives - "secure, well known product" or open-source product (bear in mind the quotation around the first phrase). Other post tends to look deeper into this aspect.
The real question is, what kind of application is going to be used to make use of a RDMS. You certainly don't need oracle for your wordpress blog or twitter clone. But if you want to do some heavy business intelligence, then Oracle might have some features which can help doing that more efficiently than the others.
Ms sql server is very good aswell, it has tons of features. If you are struck on linux and you need a database with features as offered by ms sql, then oracle would be a good pick.
I think it's because Oracle was the first RDMS that supported "sharding"
The costs of SQL Server and Oracle are not that far apart, you know.
In fact for small systems the cost of Oracle vs Your Favourite Free Database is between zero (Oracle Express Edition) and not-very-big ($5,800 processor perpetual for Standard Edition One).
Here's a link to the capabilities of the various editions in 11g: http://www.oracle.com/database/product_editions.html.
List prices are available for all territories at http://store.oracle.com -- typically large companies do not pay retail, of course ;)