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.
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 is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I'm seeking for a solution to monitor (with graphs) the status of my MSSQL instances during a periode of time (day or night) and get or make reports for that monitoring.
Does any one have or know any known simple solutions to do so please ?
Thank you for your help.
Depends on what you want to monitor. There are vendor products that will do it. Idera has Diagnostic Manager and RedGate has SQL Monitor to name just a few. Or if you don't want to spend any money SQL Server has several monitoring options including alerts, policy based management and data collection. These won't be as pretty and may not cover as much not to mention you will be writing some code on your own, but they are free (with SQL Server of course, depending on edition).
Related, though you'll want to edit the scripts for getting information is Ola Hallengren's maintenance solutions http://ola.hallengren.com/. There are useful scripts for maintenance, but depending on what information you're trying to obtain, you can build on these scripts to get information. From there, you can use the results of these queries in SSRS to populate graphs, or even use a tool like Excel.
Again, Ola Hallengren provides maintenance solutions, so these will need to be adjusted for monitoring (depending on what you're monitoring), but they are totally free and you can edit the scripts, as well as see where the information comes from so that you can determine what you need to monitor.
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 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.