Showing entries 12411 to 12420 of 44124
« 10 Newer Entries | 10 Older Entries »
Designing Multi-Tenanted Databases

Designing database tables for many customers is a surprisingly foreign concept for some programmers. I’ve been in interviews where a programmer will sketch out a normal object model, and then proceed to suggest that for the database, each customer has their own set of tables, each prefixed with the customer name. What I’d like to do in this post is introduce the concept of multi-tenancy and then show methods you can use to do it right, instead of hacky ways like the one I just mentioned. Multi-tenancy is when several customers (tenants) share the same database and codebase but can only see their own data.

The basic idea

The core method of adding multi-tenancy to your database is adding a column to every table you’d like to segment that indicates the owner of the data. I’ll call this column a tenant id. We’ll start with a basic example: a todo app. Let’s say you write a program that you’re going to use on your own to …

[Read more]
MySQL server memory usage troubleshooting tips

There are many blog posts already written on topics related to “MySQL server memory usage,” but nevertheless there are some who still get confused when troubleshooting issues associated with memory usage for MySQL. As a Percona support engineer, I’m seeing many issues regularly related to heavy server loads – OR OOM killer got invoked and killed MySQL server due to high Memory usage… OR with a question like: “I don’t know why mysql is taking so much memory. How do I find where exactly memory is allocated? please help!”

There are many ways to check memory consumption of MySQL. So, I’m just trying here to explain it by combining all details that I know of in this post.

  • Check memory related Global/Session variables.

If you are using …

[Read more]
Percona XtraBackup 2.1.7 is now available

Percona is glad to announce the release of Percona XtraBackup 2.1.7 on January 24th, 2014. Downloads are available from our download site here and Percona Software Repositories.

This release is the current GA (Generally Available) stable release in the 2.1 series. Percona XtraBackup is an open source, free MySQL hot backup software that performs non-blocking backups for InnoDB and XtraDB databases. Percona XtraBackup is an open source, free MySQL hot backup software that performs non-blocking …

[Read more]
MySQL Workbench: Frequent Crashes in Mac OS X? This might be the fix

If you’re having frequent MySQL Workbench crashes in Mac OS X, check whether you don’t have some Subversion plugin installed, such as SCFinderPlugin or SCToolbarButton. Apparently they are outdated and do not work well in recent versions of OS X, causing certain other innocent applications to crash. Removing these plugins should fix the problem in affected apps, including Workbench.

See Bug #71119 or Bug #68080

To check whether this is your problem, look for a line similar to the following in the Mac OS X crashlogs generated for Workbench:

0xbe29000 -  0xbe2dff7 +org.tigris.scfinderplugin (169) <BBADB6CA-61AE-24D5-4E0A-EBCCAD3F0D92> /Library/Contextual Menu Items/SCFinderPlugin.plugin/Contents/MacOS/SCFinderPlugin

To uninstall that plugin, delete the following …

[Read more]
Percona Server: Improve Scalability with Percona Thread Pool

By default, for every client connection the MySQL server spawns a separate thread which will process all statements for this connection. This is the ‘one-thread-per-connection’ model. It’s simple and efficient until some number of connections N is reached. After this point performance of the MySQL server will degrade, mostly due to various contentions caused by N threads that are trying to access shared resources: either system ones like CPU, IO, memory or MySQL specific: structures/locks/etc. To keep the system stable and avoid degradation in the performance we need to limit the number of active threads, and at the same time we do not want to limit number of the client connections. The ‘Thread Pool’ model helps us to achieve that. It allows mapping N client connections to M number of active threads (actually performing work) while demonstrate a smooth and stable throughput for the MySQL server.

There are several implementations of …

[Read more]
MySQL and PostgreSQL JSON functions: do they differ much?

As author of MySQL JSON functions I am also interested in how development goes in another parties. JSON functions and operators in PostgreSQL, indeed, have great features. Some of them, such as operators, I can not do using UDF functions only. But lets see how these functions are interchangeable.

Note: all PostgreSQL examples were taken from PostgreSQL documentation.
First topic is syntax sugar.

 PostgreSQL MySQL

Operator ->

postgres=# select '[1,2,3]'::json->2;
 ?column?
----------
 3
(1 row)

[Read more]
Select into outfile and load data infile are not complementary by default

Configuring the character set for MySQL is confusing. It is so confusing that there are roughly 25 different places to configure a character set. Don’t believe me? Add them up. The real number may be closer to 30. I realize a lot of this is due to the age of MySQL and the extent of it’s character set support. MySQL does support character set configuration in many different places which is usually a good thing.

I often complain about defaults that make no sense like lock_wait_timeout=1 year. In this case there is a default that makes absolutely no sense to me. The manual says that select into outfile is the complement of load data infile. It isn’t completely true. They differ in one key aspect, the default character set!. By default select into outfile now does the right thing by using binary character set and dumping the raw bytes to the file. Load data infile defaults to the value of the character_set_database variable which defaults …

[Read more]
MySQL Workbench 6.1.1 BETA has been released

The MySQL developer tools team is pleased to announce 6.1 Beta 1 – the start of the public beta testing phase of MySQL Workbench 6.1

MySQL Workbench 6.1 is the upcoming major update for the official MySQL graphical development tool.
Introducing over 30 new features, this version has many significant enhancement focusing on real-time performance assessment and analysis from the SQL statement level to server internals and file IO. You’ll see this in additions to the SQL Editor as well as new dashboard visualization and reporting that takes advantage of MySQL Server 5.6 and 5.7 Performance Schema, and enhancements to the MySQL Explain Plans.

Additionally Workbench 6.1 this leveraging work from various teammates in MySQL Engineering in introducing a schema called “SYS” that provides simplified views on Performance Schema, Information Schema, and other areas.
Special thanks to the server optimizer …

[Read more]
MySQL Workbench 6.1.1 BETA has been released

The MySQL developer tools team is pleased to announce 6.1 Beta 1 - the start of the public beta testing phase of MySQL Workbench 6.1

MySQL Workbench 6.1 is the upcoming major update for the official MySQL graphical development tool.
Introducing over 30 new features, this version has many significant enhancement focusing on real-time performance assessment and analysis from the SQL statement level to server internals and file IO. You'll see this in additions to the SQL Editor as well as new dashboard visualization and reporting that takes advantage of MySQL Server 5.6 and 5.7 Performance Schema, and enhancements to the MySQL Explain Plans.

Additionally Workbench 6.1 this leveraging work from various teammates in MySQL Engineering in introducing a schema called "SYS" that provides simplified views on Performance Schema, Information Schema, and other areas.
Special thanks to the server optimizer team, …

[Read more]
Webinar Replay & Slides: Repair & Recovery for Your MySQL, MariaDB & MongoDB / TokuMX Clusters

January 23, 2014 By Severalnines

 

Thanks to everyone who attended this week’s webinar; if you missed the sessions or would like to watch the webinar again and browse through the slides, they are now available online.

 

Special thanks to Seppo Jaakola from Codership, the creators of Galera Cluster, for walking us through the various scenarios of Galera recovery. 

 

Webinar topics discussed: 

  • Redundancy models for Galera, NDB and MongoDB / TokuMX
  • Failover & Recovery (Automatic vs Manual)
  • Zooming into Galera recovery procedures
  • Split brains in multi-datacenter setups

 

Watch the replay:

 

[Read more]
Showing entries 12411 to 12420 of 44124
« 10 Newer Entries | 10 Older Entries »