» tagged pages
» logout

sorted by: recent | see : popular
Content Tagged with SQL + MySQL

Sphinx - Free open-source SQL full-text search engine

standalone search engine, meant to provide fast, size-efficient and relevant fulltext search functions to other applications. Sphinx was specially designed to integrate well with SQL databases and scripting languages.

License:GPL: del.icio.us tag/gpl

Book Review: Building powerful and robust websites with Drupal 6

Drupal

I just finished reading Building Powerful and Robust Websites with Drupal 6. I’ve been working on a website powered by Drupal, and though it was obvious that Drupal is very flexible and capable, I was getting pretty lost in the website. So I wanted to read a book that would explain it to me.

Unfortunately, this book didn’t help me much. I’d give it 2 out of 5 stars.

Overall the content of the book is not about what the title promises. In fact, I’d say the title ought to be something like “an introduction to…” or “basic concepts with…” instead. Unfortunately, these titles don’t really capture the spirit of the book either. It’s hard to actually explain what the book is about, and I think that’s its main problem: the book has an identity crisis. It can’t decide what it is really trying to say, and thus it seems to go from one topic to another without a really strong direction. (It does have some direction and organization, but it could be stronger.)

As a result I now know almost nothing about Drupal that I didn’t discover by trial and error over perhaps 8 hours or so working with a live site.

The book is 380 pages and I think it ought to be a lot shorter to cover the material it covers. The writing is far too wordy, so whole paragraphs sometimes end up saying nothing at all. For example, “reduces the amount of work required later down the line” should just be “saves work later.” A lot of what’s included is just irrelevant. For example, the preface spends a lot of time telling me that the Internet is an exciting revolution, yada yada:

The Internet is arguably one of the most profound achievements in human history. It has become so pervasive in our lives that we hardly even notice it?except when it happens to be unavailable! It’s one of those things that make you sit back and wonder how people got along without it in the old days. Without the ability to surf the Internet to order groceries, do our banking, book flights and make travel arrangements, meet friends, meet partners, download music and videos, study, run businesses, trade shares, run campaigns, express views, share ideas, learn about other people… where would we be?

There’s a lot of that throughout the book, unfortunately. See if you can understand this:

Chapter 8 gives you a run down of how attractive interfaces are created in Drupal through the use of themes. As well as discussing briefly some of the considerations that must be taken into account when planning your website and ends off by looking at how to make important modifications to your chosen theme.

And on page 4: “little to now experience…” and later, a really confusing one: “How you deal with file system settings really depends on what type of content you use to visualize your site.”

The typesetting is also hard to read. For example, it’s set ragged-right, but even worse, there are many places where lines are broken far shorter than they need to be. It looks to me like they just put Word documents onto paper with no real typesetting.

When the content actually picks up momentum, it covers a bunch of things I could do without, such as explanations of what open source is, and Drupal’s licensing. As I said, this book has an identity crisis; these are important topics, but not in this book.. In chapter 3, I begin to see some stuff about how to use Drupal. But then it jumps right into how to set up forums. Unfortunately I really missed explanations of the concepts. The concepts are too intermingled with the examples, which I didn’t understand because I was only reading the book, not actually working through the examples. I got lost very quickly and never found myself again.

This book is not skimmable to get info at any level other than following along with the author — I mean, installing your own copy and literally performing every action the author performs so you can see it in action. For example on page 69, there’s a lot of talk about containers — and then it says “click Add container to bring up a page…” wait, I thought that’s what we were doing already? I’m sure I read it wrong, but unless I’m willing to build myself a website on my laptop to follow along, I can’t tell. I really wanted the book to explain things to me without making me work through the examples. I’m sure it’s hard to do, but it must be possible.

At the end of each chapter, there’s a summary. They are too congratulatory. “This chapter provided a good grounding in the basics of controlling access to your site’s content.” I disagree. Then later, “From learning about what considerations must be taken into account when planning a website’s look-and-feel, to making changes to the code, this chapter has provided a firm grounding in the fundamentals of working with Drupal interfaces.” Again, I just didn’t get that out of it when I read it.

So what was I looking for from the book? I wanted to understand what Drupal’s special lingo means, really. I mean, if you’ve worked with Drupal, you’ve seen all the words it reinvents for its own special uses — taxonomy, hierarchy, term, vocabulary, node, field definition, content type, and on and on. Each of these means something really particular in Drupal — not at all what we mean in common English. I am still confused about all this: what each of these things really is, how each relates to the other, why I see them in various contexts, when I should use one instead of another, and so on.

In summary, I’d say that I’m now even more convinced that Drupal is almost ridiculously flexible and powerful, but this book just didn’t help me much. It is a noble effort but alas, I needed more from it.

PS: some people have asked me about the grammar rules and regular expressions I used while writing my own book. This book is a great example of how specific those are to my own writing. If I were this book’s author, I would have a rule to catch “make use of,” “head on over,” and “go ahead.” There is also a lot of “of course” that substitutes for a real explanation on topics where I really wanted more help understanding.

, , , ,

MySQL: Planet MySQL

Log Buffer #106: A Carnival of the Vanities for DBAs

Greetings from Wisconsin! Welcome to the 106th edition of the Log Buffer. Mr. Edwards is on a brief holiday and kindly asked me to fill in for him. So join me as we take a tour of some of this week’s database blogging activity.

I’d like to start by sharing the story of MySQL engineer Andrii Nikitin’s young son, Ivan. The short story is that Ivan is in need of a bone marrow transplant and that would also require travelling outside of their native Ukraine for the procedure. The family is asking for donations to cover the cost of the operation and trip, so please consider donating via the previous link.

Now, moving on to the database topics, we begin with my own area of (relative) expertise, Oracle. The big news this week is the July 2008 CPU, or Critical Patch Update, which Oracle releases quarterly. The Integrity blog has a nice summary of what’s included in this latest patchset. I’m sure plenty of you will be heading to Oracle OpenWorld 2008 as well, and OTN’s Justin Kestelyn announced a community preview page with some sneak peeks of what to expect (spoiler: beer!).

In a quick round-up of Oracle 11g topics, Amit Bansal at AskDBA.org has a nice guide for installing Oracle 11g on Solaris 10. Meanwhile, Oracle performance guru (and fellow Wisconsin native) Greg Rahn makes a great case for using incremental global statistics on partitioned tables. I see that Tim Hall has taken a break from reviewing summer blockbusters to write up a nice article on AWR baseline enhancements in Oracle 11gR1, and Alex Nuijten at AMIS has a nice presentation on using Oracle 11g’s virtual columns to clean up your data model.
(more…)

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Slashdot
  • Google
  • del.icio.us
  • Facebook
  • bodytext
  • Technorati
  • TwitThis
  • Reddit
  • Spurl
  • De.lirio.us
  • Furl
  • blogmarks
  • Ma.gnolia
  • E-mail this story to a friend!

MySQL: Planet MySQL

Are you sure you?re reading the second edition of High Performance MySQL?

I have been getting a lot of comments and errata from people who seem to be mistakenly buying the first edition and believing it’s the second edition. A lot of the blame for this probably rests with Amazon, who did not distinguish between the two editions at all until the editor and I (among others) leaned on them persistently for about 6 weeks. I think some people are buying the second edition and getting the first edition.

I’ve even spoken to people in person who said “yeah, I’ve been reading it” and I give them a copy of the second edition to hold in their hands, and they go “whoa, that is like twice the size. I don’t have this edition at all.”

If you have any question at all, just look at the front cover. If you have the second edition, you will see it clearly in the upper right-hand corner of the cover, as shown in this picture:

Cover

I feel like a Microsoft Anti-Piracy Minion “educating” you about how to verify that you are installing Genuine Spyware. Don’t worry, the feeling will pass and I’ll be okay *grin*

If you ordered the second edition and got the first edition, Amazon should send you a new book free of charge. If they’re really making the mistake that they seem to be, I predict they’ll fix it when it starts costing them money.

No Tags

MySQL: Planet MySQL

High Performance MySQL is going to press, again

Apparently High Performance MySQL, 2nd Edition is selling quite well — I’m not sure exactly how well — because we’re preparing for a second printing. This makes me very happy. I don’t think they anticipated going back to the press for quite some time.

The book fluctuates between sales rank 1000 and 2000 on Amazon during the day, and has reached as high as 600 or so. This is just phenomenal. The O’Reilly team was psyched when it broke 5000, and so was I — but now we’ve stayed under 2000 for a long time (except when Amazon sold out of it). Frankly I’d have thought that for a niche-market book like this, we’d have been in the 10,000 range or something like that.

Clearly we (the authors, editors, publisher, etc) have done something right! This is a great feeling.

Thanks for sending errata, by the way. I have just completed proofreading the whole book myself, and found a number of things that may be fixed in the second printing. I think certain types of errors won’t be fixed, but the important ones certainly will be.

, ,

MySQL: Planet MySQL

Sphinx 0.9.8 is released!

The Sphinx project just released version 0.9.8, with many enhancements since the previous release. There’s never been a better time to try it out. It’s really cool technology.

What is Sphinx? Glad you asked. It’s fast, efficient, scalable, relevant full-text searching and a heck of a lot more. In fact, Sphinx complements MySQL for a lot of non-search queries that MySQL frankly isn’t very good at, including WHERE clauses on low-selectivity columns, ORDER BY with a LIMIT and OFFSET, and GROUP BY. A lot of you are probably running fairly simple queries with these constructs and getting really bad performance in MySQL. I see it a lot when I’m working with clients, and there’s often not much room for optimization. Sphinx can execute a subset of such queries very efficiently, due to its smart I/O algorithms and the way it uses memory. By “subset” I mean you don’t get the full complexity of SQL, but you get enough functionality for lots of the poorly-performing queries I see in the wild. It’s a 95% solution.

Is Sphinx for you? Good question. You can find answers in Appendix C in High Performance MySQL. And yes, that is why I wrote this blog post — to put in a plug for the book. *grin* But before I go, let me put in another plug for Sphinx: go vote for it on Sourceforge! If it’s voted as one of the Community Choice projects of the year, that will be fantastic.

, ,

MySQL: Planet MySQL

LogFile Group creation - SQL Errors vs SQL Warnings

On Windows® - but I guess it’s the same on another O.S. that does not support cluster - I noticed the following behavior when trying to execute a CREATE LOGFILE GROUP syntax like this:

CREATE
 LOGFILE GROUP `test`
 ADD UNDOFILE ‘test’
 INITIAL_SIZE = 33M
 UNDO_BUFFER_SIZE = 8M
 ENGINE = NDBCLUSTER;

In v.5.1.25-rc, v.5.1.24-rc and v.5.1.23-rc, only SQL warnings are shown:

mysql> CREATE
    ->  LOGFILE GROUP `test`
    ->  ADD UNDOFILE ‘test’
    ->  INITIAL_SIZE = 33M
    ->  UNDO_BUFFER_SIZE = 8M
    ->  ENGINE = NDBCLUSTER;
Query OK, 0 rows affected, 2 warnings (0.01 sec)

mysql> SHOW WARNINGS;
+———+——+————————————————————————————————+
| Level   | Code | Message
                                  |
+———+——+————————————————————————————————+
| Warning | 1286 | Unknown table engine ‘NDBCLUSTER’
                                  |
| Error   | 1478 | Table storage engine ‘MyISAM’ does not support the create option ‘TABLESPACE or LOGFILE GROUP’ |
+———+——+————————————————————————————————+
2 rows in set (0.00 sec)
 
In v.6.0.5-alpha a SQL error occurs:

mysql> CREATE
    ->  LOGFILE GROUP `test`
    ->  ADD UNDOFILE ‘test’
    ->  INITIAL_SIZE = 33M
    ->  UNDO_BUFFER_SIZE = 8M
    ->  ENGINE = NDBCLUSTER;
ERROR 1478 (HY000): Table storage engine ‘MyISAM’ does not support the create option ‘TABLESPACE or LOGFILE GROUP’

This difference can generate a bug in your applications if you were using code like this:

IF mysql.error = 0 THEN
 ok, post-creation operations
ELSE
 error, do nothing

In fact, the code above is correct if used on v.6.0.5 but it is wrong if used on v.5.1.25 (the application executes the post-creation operations even if the logfile group hasn’t been created).

I don’t remember exactly which version, but an old 5.1.x version had the same behavior of v.6.0.5 - i.e. SQL error - and that was the reason why I coded in that way.

Well.. one more application-bug discovered while testing the version 6.0.5-alpha of the server.

This afternoon I changed the code in this way:

IF (mysql.error = 0 AND mysql.warnings=0) THEN
 ok, post-creation operations
ELSE
 error, do nothing

uhmm, I would like to read such changes (errors -> warnings) in the internal mailing list or in the release notes file of the server (indeed, I’m not sure if it’s included in the chapter “Changes in release 5.1.x”).

Moral:

  • always read the release notes carefully;
  • never eat chocolate biscuits when coding: they could make you lose your concentration!

MySQL: Planet MySQL

SQLAlchemy - The Database Toolkit for Python

"SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that gives application developers the full power and flexibility of SQL."

opensource: del.icio.us tag/opensource

Log Buffer #105, a Carnival of the Vanities for DBAs

This week, database blogs seemed to talk about conforming to stereotypes as well as breaking them.

Fulfilling the stereotype of Microsoft software being unsecure, Microsoft released a very important SQL Server update that Aaron Bertrand notes patches “four elevation of privilege vulnerabilities.” That’s right, not one, not two, but four!!! At least there is a patch now……go forth and patch! Usually it is MySQL that throws ambiguous warnings or errors which are not an accurate representation of the actual error, but Bertrand also notes that there is A Little Management Studio Oops.

Contrary to stereotype, Microsoft is giving away content with NO DRM! Kalen Delaney asks, Did You Know the History of SQL Server? and shares a link to a chapter from a book on SQL Server 2000 in the Inside SQL Server series.

The PSS SQL Escalation Services team has fought many times about SQL Server I/O Bottleneck, I don’t have one, YES YOU DO! The team gives some reminders about how to interpet averages properly.

Allen White asks about Tools for the Reluctant DBA — that is, a programmer or administrator so good at databases that they were promoted to DBA, but may not actually want the job. Check out the comments and add your own.

Tibor Karaszi shares his stored procedure to find physical index details. Now you can use one stored procedure does what a stored procedure plus 3-4 tables ordinarily does.

But wait! There are some more updates!

(more…)

MySQL: Planet MySQL

Sphinx - Free open-source SQL full-text search engine

Sphinx is a full-text search engine, distributed under GPL version 2. Commercial license is also available for embedded use.

License:GPL: del.icio.us tag/gpl

Using PHP 5's DOM functions to create XML files from SQL data

Using PHP 5's DOM functions to create XML files from SQL data

XML: del.icio.us/tag/xml

Log Buffer #104: a Carnival of the Vanities for DBAs

Andrew Clarke has published to 104th edition of Log Buffer, the weekly review of database blogs, on Radio Free Tooting, marking LB’s second year. Happy Birthday, LB!

Log Buffer always needs editors, so if you you’d like to present your view of the week that was in DB blogs, contact me, the Log Buffer coordinator. You’ll be joining some of the best bloggers around, and making yourself and your blog a little better known to readers around the world.

And now, here’s Andrew Clarke’s Log Buffer #104.

P.S.: To our readers in the U.S. — Happy 4th of July!

MySQL: Planet MySQL

SQL HOWTO - FreeRADIUS Wiki

FreeRADIUS works out with a large list of SQL servers, but there are a number of configuration guides available on the internet that are wrong, or obsolete, or both. This guide corrects some of the misinformation.

RADIUS: del.icio.us/tag/radius

MySQL

MySQL is the world's most popular open source database software, with over 100 million copies of its software downloaded or distributed throughout its history.

opensource: del.icio.us tag/opensource

dbWatch News

Seems I have turned into a bit of a news source. dbWatch Software sent me a news release on their dbWatch monitoring platform, which looks like it might be an interesting product for those who work in a heterogeneous database environment. Here’s the release:

FOR IMMEDIATE RELEASE

Contact:

Rob Shuster, VP US Sales
dbWatch USA
6122B S. Eagle Pass Rd.
Gold Canyon, AZ
85218

Phone: 800-270-9892

http://www.dbwatchusa.com

info@dbwatchusa.com

dbWatch Software Announces US based Sales & Support Oslo, Norway — June 23, 2008 ? dbWatch Software has launched a US sales and support organization. The flagship product, dbWatch? (v8.1), is a heterogeneous database monitoring/reporting tool currently supports Oracle, SQL Server, and MySQL.

Marek Jablonski, CEO states ?As a DBA you are often stuck with multiple platforms (both OS and database systems) and multiple unmanageable tools from database providers. dbWatch? is a single tool allowing the DBA to monitor all databases and generate professional custom reports.?

Clear Channel Norway IT Director, Jan Erik Rasmussen, reports ?dbWatch provides an effective overview of our databases, and allows me to sleep well at night.?

Three dbWatch? editions are available: Standard ($195), Professional ($1,995 to $9,995), and Enterprise ($14,995). A free 30-day evaluation is available for download.

For information: http://www.dbwatchusa.com or

Contact: info@dbwatchusa.com

Phone: 800-270-9892

It was a timely contact, coinciding with Sheeri’s review of MONyog. It sounds like dbWatch is the kind of tool that would be valuable here at Pythian, where we work with all of the DBMSs it supports. But — I haven’t tried it yet, so I put it to you: have any of you used dbaWatch? If so, what are you opinions?

MySQL: Planet MySQL

Page 1 | Next >>