Archive for the ‘Blog’ Category

Google fighting against regular content as well?

Апрель 26th, 2012

Whatever Google intended to do with the latest update, I personally think there was some collateral damage done to sites like mysqljoin.com . Since this is only a site I created to show people how joins can be used within MySQL (for free), I never spent money to a SEO agency or something. All I did was installing a SEO Plugin for WordPress. Am I guilty of “over optimizing” now?

The site is approx. 1,5 years old and it grew slowly. The first few month nothing really happened, then people somehow started to link to us , people on stackoverflow.com started to reference us and things like that. To me, this looks really organic. However, the traffic dropped overnight from approx. 1500 unique visitors per day to approx. 300 unique visitors.

If this update works to fight again spammy sites in the organic results, I’m fine with it. Even though I have no idea why Google penalized us (no message in webmaster tools or the like), it looks like it makes some form of “reverse SEO” possible: Instead of focussing on improving your own search engine ranking that much to outperform the competition, simply attack the competition by whatever Google now obviously doesn’t tolerate any more.

Honestly, do you as a reader thing the MySQL Join Tutorials are spam? Is it “valuable content” as it’s called by Google? A lot of people who commented on the posts seem to be happy about them.

We’re open to new ideas! What would you love to see as a tutorial as well? What don’t you like about our current tutorials. Any feedback is more than welcome.

Thank you very much, Jan


PlanetMySQL Voting: Vote UP / Vote DOWN

COLLABORATE Social Media Hour – Tue 4/24 1-2p Exhibit Hall (IOUG Booth)

Апрель 19th, 2012
At Collaborate, and on the Web, come on and join us and F2F with the tech-saavy! COLLABORATE Social Media Hour  Tues, 4/24, 1–2 pm Exhibit Hall-IOUG Booth There’s no 140 character limit for this meet up! Stop by the IOUG … Continue reading
PlanetMySQL Voting: Vote UP / Vote DOWN

just switched from wordpress to serendipity

Март 24th, 2012
Today I switched my blog from wordpress to serendipity. Even though Serendipity provides a smaller range of plugins and themes.
PlanetMySQL Voting: Vote UP / Vote DOWN

just switched from wordpress to serendipity

Март 24th, 2012
Today I switched my blog from wordpress to serendipity. Even though Serendipity provides a smaller range of plugins and themes.
PlanetMySQL Voting: Vote UP / Vote DOWN

High Availability for your ScaleBase instance

Декабрь 28th, 2011

Recently some customers running on Amazon EC2 asked me how to configure a HA environment for their ScaleBase instance.
For instance, let’s look at the following architecture:

To ensure that Scalebase is not a single point of failure, several ScaleBase instances can be used – so if one crashes, other instances can handle its connections.

This is quite simple to do:

  1. Start the EC2 instance to be used for the ScaleBase configuration
    1. Install MySQL on the machine and follow the database preparation instructions defined in the ScaleBase installation guide.
    2. Install ScaleBase with the –mode=ALL parameter.
    3. Create an EC2 instance that will be used as an AMI for all ScaleBase installations.
      1. Download and install ScaleBase on the machine using the InstallMachine script. Make sure you use the –mode=LB parameter, to connect to an existing configuration.
      2. Create an AMI out of the instance (in the EC2 management console, right click on the instance and select the “Create Image” option).
      3. Start instances based on the created AMI.
      4. Create an EC2 Load Balancer (see EC2 documentationfor more information).
        1. Make sure all the instances you created are mapped to the Load Balancer.
        2. Make sure the Load Balancer is connected to TCP port 9000, and is using this port for Health Check.
        3. Direct all communication to the Load Balancer DNS.

That’s it. Easy – and works like a charm.


PlanetMySQL Voting: Vote UP / Vote DOWN

Working with ScaleBase and NOSQL

Декабрь 15th, 2011

There is a huge amount of buzz around NOSQL, and we at ScaleBase are happy to see companies making the move to NOSQL. Despite what some people might think, we consider it a blessed change. It is time for applications to stop having a single data store – namely a relational database (probably Oracle) – and start using the best tool for the job.

In the last couple of years, since NOSQL technologies broke into our world, a lot of experience has been gathered on how to use them. Mainly, we see NoSQL technologies used for one of the following scenarios:

  • Queries that require a very short response time
  • Storing data without a well-defined schema, or storing data with a frequently modified schema

Now, I’m not in any way saying that NOSQL solutions are not used for other scenarios as well; I’m only saying that from our experience here at ScaleBase ,  these are the most common scenarios.

Other needs, like data backup, complex joins queries, consistent data storage – all are still being delivered by relational databases.

So the implementation is along the lines of a hybrid model – NOSQL for some tasks, MySQL (or other database, but MySQL is by far the most popular) for others.

ScaleBase is determined to assist in the relational database part of the problem, letting it scale and perform – just as the NOSQL side can scale and perform by itself (and frankly it can scale and perform very well, as this was the original requirement for most NOSQL solutions).

As NOSQL solutions grow in popularity and use, I expect we’ll see “design patterns” pop up – when to use relational databases and when to use NOSQL solutions (and of course – which one). For now, if you’re architecting your new web application/SaaS solution or social game – try to learn from the architectures of existing sites. You can get some at http://highscalability.com , and others at http://nosql.mypopescu.com/.


PlanetMySQL Voting: Vote UP / Vote DOWN

ScaleBase achieves 180K NO-TPM TPCC results on Amazon RDS

Декабрь 12th, 2011

ScaleBase Releases Database TPC-C Performance Results

Technology achieves unprecedented transaction speed for a MySQL database at a low cost

 

Boston, Mass., December 12, 2011ScaleBase, Inc. today announced the results of its MySQL database benchmark, based on the industry-standard TPC-C test. ScaleBase has achieved an unmatched 180,000 Transactions per Minute – the highest result for a MySQL database – while running on an Amazon RDS environment. Cost per Transaction was reported to be 50 cents, which demonstrates the cost-effectiveness of the ScaleBase solution on the Amazon EC2 cloud. Full details of the benchmark can be found at http://www.scalebase.com/resources/performance/.

TPC, the Transaction Processing Performance Council, defines transaction processing and database benchmarks and delivers reliable, independent results to the industry. The TPC-C benchmark is a popular yardstick for comparing Online Transaction Processing (OLTP) performance on various hardware and software configurations.

The ScaleBase Database Load Balancer is a packaged solution for transparently scaling MySQL databases. ScaleBase utilizes two techniques for scaling: read-write splitting and transparent sharding (a technique for massively scaling-out relational databases). The software enables MySQL to scale transparently, without forcing developers to change a single line of code or perform a long data migration process. The technology is ideally suited for any application in which scalability, performance and speed are critical, including: gaming, e-commerce, SaaS, machine-generated data, Web 2.0 and more.

“Some people feel that by using MySQL they stand the chance of limiting their performance options, however, these TPC-C results proves that  this simply is no longer the case,” said Rob Levine, ScaleBase’s VP of Sales. “Without writing specialized code you can still get top performance – perhaps optimal performance – at an affordable rate, accounting for the requisite hardware and infrastructure resources. Especially in today’s economy, getting such great performance and optimizing every dollar spent can save companies substantial amounts of money.”

ScaleBase’s Database Load Balancer solution has been successfully used by numerous customers since its official release in August 2011.

 

About ScaleBase

ScaleBase has developed an innovative database load balancing technology that enables MySQL users to achieve scalability and high availability, without changing a single line of application code. ScaleBase utilizes two techniques for scaling: read-write splitting and transparent sharding, which is a method for massively scaling-out relational databases. The ScaleBase technology is ideally suited for any application in which scalability, performance and speed are critical, including: gaming, e-commerce, SaaS, machine-generated data and more. The company is privately-held and headquartered near Boston, Mass. Follow @SCLBase on Twitter.

 

Media Contact

Candice Perodeau

508-475-0025 x112

cperodeau@rainierco.com


PlanetMySQL Voting: Vote UP / Vote DOWN

Making the case for Database Sharding using a Proxy

Декабрь 6th, 2011

There are several ways to implement sharding in your application. The first and by far the most popular, is to implement it inside your application. It can be implemented as part of your own Data Access Layer, database driver, or an ORM extension. However, there are many limitations with such implementation, which drove us, at ScaleBase, to look for an alternative architecture.

As the above diagram shows, ScaleBase is implemented as a standalone proxy. There are several benefits to using such an architecture.

First and foremost, since the sharding logic is not embedded inside the application, third party applications can be used, be it MySQL Workbench, MySQL command line interface or any other third party product. This translates to a huge saving in the day-to-day costs of both developers and system administrators.

Backup can be executed via the proxy, and so allows users to consistently backup a sharded environment – not an easy task when sharding is developed internally.

Since the application server machines are usually highly utilized (as they should be, to optimize costs), running additional code on application server machines will just slow them down. Running the code on external proxies allows for a more efficient division of tasks between the servers, and allows requests to be unaffected by data crunching (for instance cross-shard queries) requests.

So all in all there are many reasons to run sharding code outside the scope of the application and application server. If you’re interested – we’d love to chat.


PlanetMySQL Voting: Vote UP / Vote DOWN

What Makes a Schema good for Sharding

Ноябрь 23rd, 2011

The ScaleBase Analysis tool gives a schema a grade between 1 and 100 for being “sharding compatible”. It’s a neat feature, but many ask me how the grade is calculated. Well – here goes.

First of all, a good schema is one that is easy to shard. Database Normalization is usually a good thing when sharding. It means that finding the sharding key is easy, relationships between tables are clear, and the queries themselves are usually much simpler. So we try to give a grade on how well the schema is normalized.

After the sharding configuration is determined (see here on how this should be done), we review your MySQL General Log, to understand the value you can expect from the sharding configuration:

  • Statements that run on sharded tables, and hit a single shard.
    • Since each database is smaller in size, performance of a single shard improves. As a result, statements of this kind will give major performance improvements.
    • Bottom line – major performance improvement over the original configuration.
    • Statements that run on sharded tables, and hit multiple shards.
      • These statements run on multiple shards, in a map-reduce manner. It means they will run faster than running on a single, big, database – but they will run slower than statements that need to hit just one shard.
      • Bottom line – better performance than the original configuration.
      • Statements that run on global tables, and hit a single shard.
        • These are queries on global tables. Basically, the performance improvement should be similar to what’s seen on statements that run on a single shard (depending on the global table size of course).
        • Bottom line – major performance improvement over the original configuration.
        • Statements that run on global tables, and hit multiple shards.
          • DML operations over global tables need to hit all the shards. These will run slower than the original configuration, so if you see you have a lot of these, try to turn the specific global tables into split tables.

Sounds simple, right? Well, try to take all these parameters into consideration, and build a sharding configuration on your own. If you don’t want to – try out our ScaleBase Analyzer – for a free tool that can build the sharding configuration for you.


PlanetMySQL Voting: Vote UP / Vote DOWN

How do you know when to shard your database?

Ноябрь 17th, 2011

We at ScaleBase talk about sharding so much, it’s difficult for us to see why someone wouldn’t want to shard. But just because we’re so enthusiastic about our transparent sharding mechanism, it doesn’t mean we can’t understand the very basic question, “When do I shard?”
Well, it’s not the most difficult question to answer. I’ll keep it short: if your database exceeds the memory you have on a single machine, you should shard. If you hit I/O, your performance suffers, and sharding will assist.
Why? That’s easy to explain.
Databases in general (and MySQL is no exception) try to cache data. Because accessing memory is so much faster than accessing disk (even with SSDs), database providers have developed rather sophisticated caching algorithms. For instance, running a query caches the query and its results. Indexes are stored in memory so that, when running a query, the database doesn’t have to hit the disk twice.
But if the database is big, it won’t fit into memory. Sometime even the index won’t fit into memory. This is when you start seeing database performance degradation. So the best date to start sharding is when you can’t add more memory to your database server. This can come sooner rather than later. As we all know, data is booming, and if you’re running in the cloud there is only so much memory your cloud provider will give you. With sharding, every machine has its own data, which fits in RAM. And if you need more – just add an additional shard.
The other parameter is the number of concurrent connections. If you reach the limit of connections your machine can handle, it’s time to shard your database. Every sharded database gets less hits/second, requires fewer connections – and can work faster.
So, if your database does not fit in memory, or if you have too many concurrent users hitting your database – try out ScaleBase, for our transparent sharding solution.


PlanetMySQL Voting: Vote UP / Vote DOWN