Posts Tagged ‘mysql’

isolation levels

March 25, 2015

I gots to know…

Big web companies who use MySQL – what isolation level(s) do you use? Do you take the default? Do you think about it at all? How about if you use, eg, memcached, what there? And, does your code think about optimistic or pessimistic locking?

I’ve been reading up on isolation levels after seeing Peter Bailis’
http://www.bailis.org/blog/understanding-weak-isolation-is-a-serious-problem/
(thanks to Mark Callaghan for re-tweeting about it).

I’m learning things…  here’s one for today –

I always thought that the “repeatable” in repeatable read applied to the data in general. Meaning that a query run twice in a transaction would “repeat” the same results. I guess it actually is supposed to apply to records?  Ie, other transactions’ updates to an existing row will not affect our view of the record.  According to ISO ANSI 92, apparently, repeatable read does allow the appearance of “phantom” (newly added) rows. (MySQL seems to be less permissive than that.)

But enough of my talking – I’m going back to my reading.  So, big MySQL users – let me know your thoughts on isolation levels, application-wide.  Do you care about them?  How do you enforce, or not enforce them at an application level, and why?

Advertisements

Oracle Training on Demand – MySQL for Beginners, Day One

September 13, 2012

Today I took the first day of MySQL for Beginners from Oracle’s Training on Demand offerings.  From the course overview,

“This hands-on class covers the fundamentals of SQL and relational databases, using MySQL[tm] as a teaching tool.  The course is suitable for new or existing users of MySQL who have little or no previous experience with a relational database management system.”

(For more details on this course, and other training offerings and formats, go to http://education.oracle.com .)

Here are some of my opinions and observations:

The class came up very easily for me, no glitches or waiting. (I used Firefox today.  I’ll try IE tomorrow, then others.)

It feels a bit like being in an Oracle University classroom – you watch video of the instructor (Brent Dayley) giving the class.  Brent Dayley is a great instructor.  (And I’ve never had a bad instructor in Oracle classes, from my days before I worked for Oracle.)

There are tabs across the page, and one is for the “ekit”.  This contains the e-books (.pdf’s) you’d normally use in the classroom – a course book and an activity guide.  I suggest opening these before you start the course.  It’s great for reference.)

One nice thing is that you can pause, replay, skip back, etc.  I find that when I go to a classroom, I can only take in so much, and sometimes my mind wanders.  Here, I can pause, take a break or do some work, and come back to it.

It is a full course, with a lot of information.  The pace is fast on the first day, if you are new to RDBMSs.  There is a quick overview of what an RDBMS is, MySQL, installing and connecting, accessing data, and even data modelling and normal forms, all in day one.  So I paused sometimes to let it sink in.  (Usually by the end of a week-long class in a classroom, I’m just taking notes and planning to re-read it when I get home – which I never seem to find time to do.)

By the way, when you sign up, you get 90 days to use the training, but the labs in particular you schedule and use for 5 days.  So you might want to do the course in 5 days, then go back and review.  Or go through the course at your leisure, then go back and do the labs then review some more.  (Etc.)   Of course, you can also install MySQL on your own computer, download and install the sample databases (from http://dev.mysql.com/doc/index-other.html ) and do exercises and more at your leisure, too.

Going through the documentation and day one of the class was very convenient and full of information.  I’m excited to take and write about days 2, 3 and 4 over the coming weeks – stay tuned for more!

MySQL Training on Demand – online training classes from Oracle

August 31, 2012

It’s been a while since I’ve written any blog entries.  I like to think and write about basics and fundamentals, and in my work (Senior MySQL Support Engineer at Oracle), I can get caught up in particulars, so sometimes it’s hard to see the forest for the trees.

That’s why when we were offered a chance to try out Oracle’s Training on Demand (“ToD”) and take the new offering of “MySQL for Beginners”, I jumped at it.  I can go back to fundamentals, and now I can blog about the basics – in this case, the basics of Oracle’s Training-on-Demand – how it works, the experience, etc.

In my previous jobs as a DBA, I always enjoyed taking training classes (again, I like to focus on fundamentals).  I remember first (LONG ago) going to classes to learn linux.  (We felt initiated when, at the end, the instructor said “do a ps -ef and pipe it to grep for cron” and we all understood him.)  Later, I also took classes for being an Oracle DBA (then taking the first, “beta” certification exams at Oracle Open World and passing), then a MySQL DBA.  All of them were a welcome chance to take a break from the regular work day and go back to school.

Now Oracle Training on Demand offers a way to take such courses online, which offers many benefits, some of them beyond normal classroom training:

  •    you don’t need to wait for a class to be offered in your area
  •    the training is available for use for 90 days, 24×7
  •    online access to a student guide
  •    white-boarding and online labs, for hands-on experience
  •    Q&A available with an Oracle University Instructor
  •    you can start, stop, pause, skip or rewind as you like
  •    full-text search to find relevant spots in the video quickly

I am excited about this, because it can offer the best of a classroom and the best of a book.  Sometimes I learn best from a book, but I enjoy a classroom, too.  With a book, I can go at my own pace, put it down, pick it up, go back, look ahead, etc.  Same with ToD.  In a classroom, I can ask questions, or get hands-on lab practice.  Same with ToD.  And you get it for 90 days – not so with a classroom course.  The list goes on…

So I look forward to trying this out and blogging about the course content, and about how Oracle’s Training on Demand works.  In the meantime, you can read an announcement about this course at

https://blogs.oracle.com/MySQL/entry/all_new_mysql_for_beginners

or see the page for the course at

http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=557&get_params=courseId:D77226GC10,showLabTab:Y

More to come soon!