20:23 xtrabackup-0.5, bugfixes, incremental backup introduction » MySQL Performance Blog

I am happy to announce next build of our backup tool. This version contains several bugfixes and introduces initial implementation of incremental backup.

Incremental backup works in next way. When you do regular backup, at the end of procedure you can see output:

CODE:
  1. The latest check point (for incremental): '1319:813219999'
  2. >> log scanned up to (1319 813701532)
  3. Transaction log of lsn (1318 3034677302) to (1319 813701532) was copied.
  4. 090404 06:03:29  innobackupex: All tables unlocked
  5. 090404 06:03:29  innobackupex: Connection to database server closed
  6.  
  7. innobackupex: Backup created in directory '/mnt/data/tmp'
  8. innobackupex: MySQL binlog position: filename 'db02-bin.001271', position 247627478
  9. 090404 06:07:58  innobackupex: innobackup completed OK!
  10. innobackupex: You must use -i (--ignore-zeros) option for extraction of the tar stream.

which gives start point 1319:813219999 for further incremental backup. This point is LSN of last checkpoint operations. Now next time when you want only copy changed pages you can do:

CODE:
  1. xtrabackup --incremental_lsn=1319:813219999 --backup --target-dir=/data/backup/increment_day1

and only changed pages (ones with LSN greater than given) will be copied to specified dir. You may have several incremental dir, and apply them one-by-one.

Current version does not allow to copy incremental changes to remote box or to stream, it is only local copy for now, but we are going to change it in next release. Beside putting last checkpoint LSN to output we also store it in xtrabackup_checkpoint file to use it in scripts.
More about incremental you can read on our draft page http://www.percona.com/docs/wiki/percona-xtrabackup:spec:incremental

You can download current binaries RPM for RHEL4 and RHEL5 (compatible with CentOS also), DEB for Debian/Ubuntu and tar.gz for Mac OS / Intel 64bit there:
http://www.percona.com/mysql/xtrabackup/0.5/.
By the same link you can find general .tar.gz with binaries which can be run on any modern Linux distribution.
By the same link you can download source code if you do not want to deal with bazaar and Launchpad.

The project lives on Launchpad : https://launchpad.net/percona-xtrabackup and you can report bug to Launchpad bug system:
https://launchpad.net/percona-xtrabackup/+filebug. The documentation is available on our Wiki

For general questions use our Pecona-discussions group, and for development question Percona-dev group.

For support, commercial and sponsorship inquiries contact Percona


Entry posted by Vadim | No comment

Add to: delicious | digg | reddit | netscape | Google Bookmarks

Sphinx 0.9.9-rc2 is outSphinx search engine news » 车东's shared items in Google Reader

Sphinx 0.9.9 branch is officially feature-frozen and we are making 0.9.9-rc2 available. As those who've been following 0.9.x releases should be accustomed to, despite a modest rc1 to rc2 tag change it adds about 30 new features once again. (Wonder if we'll be able to break the spell in 1.x and be less greedy about the version increments.)

The ultimate new feature couple is MySQL binary protocol and SphinxQL query language. Meaning that searchd can now pretend it's mysqld. Meaning that you can use ye good olde mysql command-line client to connect to searchd and fire your queries using regular SELECT syntax! More details are available via that link above.

But wait, there's more. We added ODBC support both on Windows and Linux (through UnixODBC) so you now can connect directly to that Oracle or MS SQL database. We added a bunch of performance counters, IMO they look especially nice when viewed using SHOW STATUS via mysql client program. Strict order operator (aaa << bbb) and field-start and field-end keyword modifiers (^hello world$) were added to full-text query language. GROUP BY now supports aggregate functions (AVG, MAX, MIN, and SUM), accessible both through newly added SphinxQL interface and SetSelect() API call.

Other 20+ features are smaller and these 7 most major ones should be enough to encourage you to get and try it anyway. For the curious, 0.9.9-rc2 change log lists them all along with the bug fixes.

How safe is it to upgrade? Generally, both API and indexes are backwards compatible (for about 2 years now); early adopters roll out intermediate non-public releases on production systems on a rather regular basis; and we never publish releases with known major general issues. And 0.9.9-rc2 is no exception. Of course nobody (except Donald Knuth) can guarantee that his software is absolutely bug free. But what we can guarantee to our customers is that we'll priority fix all bugs that you can repeat. (The keyword here is "priority" as we're gradually fixing all the bugs reports we receive.) So if you're looking for safer production deployment of all the shiny new features, consider support packages. They perfectly cover 0.9.9-rc2.

What's next? We will be fixing issues discovered in rc2 for about 1-2 months from now on before announcing stable release - depending on your feedback. Do send us some! In the meantime, the work on real time updates is progressing, we'll be showing those at MySQL UC 2009. That said, next two planned releases are 0.9.9-release and 1.10.1-alpha, with the one which is the le... the bigger of two goods coming out first.

12:56 Regular Expression Tips and Tricks » Google Analytics Blog
What are Regular Expressions and Why Use Them?

Regular Expressions (RegEx) are a set of characters you can use match one or more strings of text. The main reason to use Regular Expressions is that they support wildcard matching, letting you capture a lot of variations (in URLs for example) using a single string of characters.

Here are a few examples when Regular Expressions are useful in Google Analytics:
  1. Matching multiple pages when defining a goal or funnel page
  2. Exclude a range of IP addresses when defining a filter
  3. Defining complex advanced segments
  4. Including and excluding multiple URLs from reports such as the Top Content report



Check out this help center article for some basic definitions of Regular Expressions and how they work.

Tips and Tricks

Here are some tips, tricks and flourishes to make your RegEx sing.
  1. USE TRIAL AND ERROR: There is only one really, really good way to write Regular Expressions. You can use all the testing tools in the world, but the only good way is to get them wrong, and then rewrite them and rewrite them until you are sure that they are right. So... be sure to have a profile that you can use just for testing.


  2. KEEP IT SIMPLE: If you need to write an expression to match "new visits", and the only options that you will be matching against are "new visits" and "repeat visits," just the word "new" is good enough.

  3. REGULAR EXPRESSIONS ARE GREEDY: They will match everything they possibly can, unless you force them not to. If your expression is "visits", it will match "new visits" and "repeat visits." After all, they both included the expression "visits." To make them less greedy, you have to make them more specific

  4. DON'T OVER DO IT: (See #3 above.) For example, many people use a Regular Expression only when creating an IP address filter. If the IP address is 6.255.255.255, they create an expression like this: 6\.255\.255\.255 -- and forget that that will also match 26.255.255.255, etc. So in a situation like this, you really do need to start with a beginning anchor, ^6\.255\.255\.255 . A beginning anchor (called a carat), says, "To be a match, it has to start here."

  5. MATCH EVERYTHING WITH .*: Some combinations of Regular Expressions are very special. Perhaps the most useful combination is a dot followed by a star, like this: .* And don't forget about a dot followed by a star, but in parenthesis, like this: (.*) The first one means, get everything. It is your ultimate wildcard. On the other hand, (.*) means, get everything and put it in a variable. You'll find that (.*) is very helpful when you are creating custom advanced filters.

  6. BACKSLASH TO ESCAPE: Backslash is the most frequent RegEx you will probably use. It means, take this special character and turn it into an everyday character. So if you are trying to match to "www.mysite.com?pid=123," you have a problem -- unless you use your backslash. The question mark is a Regular Expression, and only by using a backslash, like this: "www.mysite.com\?pid=123" can you take away its special powers. If you aren't sure whether something is a Regular Expression or not, go ahead and use that backslash -- it won't do any harm.




  7. WHITESPACE IS WHITESPACE: The most frequent question you might ask is, "How do I create a white space with Regular Expressions?" The answer is usually, just use white space. So if you need to match to "Google Analytics," you can make your Regular Expression be "Google Analytics."

Other Resources

Most of the basic Regular Expressions (RegEx) needs are covered in the Google Analytics documentation (you should start here if you want to learn those basics). Watch out though, just because something is not in here doesn't mean Google Analytics doesn't support it.

Other good sources are regular-expressions.info and RegEx Coach, an interactive tool for testing Regular Expressions.

How do you use Regular Expressions? Leave a comment and let us know!

Posted by Robbin Steif of LunaMetrics , a Google Analytics Authorized Consultant
10:47 Six Lessons Learned Deploying a Large-scale Infrastructure in Amazon EC2 » High Scalability - Building bigger, faster, more reliable websites.

Lessons learned from OpenX's large-scale deployment to Amazon EC2:

  • Expect failures; what's more, embrace them
  • Fully automate your infrastructure deployments
  • Design your infrastructure so that it scales horizontally
  • Establish clear measurable goals
  • Be prepared to quickly identify and eliminate bottlenecks
  • Play wack-a-mole for a while, until things get stable

  • 08:04 北京交通限行尾号规定 » Uploads from 车东@FlickR

    车东@FlickR posted a photo:

    北京交通限行尾号规定

    北京市交通管理局: 北京交通限行尾号规定
    www.bjjtgl.gov.cn/zhuanti/08sxcs/index.html


    ^==Back Home: www.chedong.com

    ^==Back Digest Home: www.chedong.com/digest/

    <== 2009-04-06
      四月 2009  
        1 2 3 4 5
    6 7 8 9 10 11 12
    13 14 15 16 17 18 19
    20 21 22 23 24 25 26
    27 28 29 30      
    ==> 2009-04-08