Archive for January, 2006
mysql or microsoft sql?
(originally from mssqlcity.com)
Introduction
Often people in newsgroups ask about some comparison of Microsoft SQL Server and MySQL. In this article, I compare SQL Server 2000 with MySQL version 4.1 regarding price, performance, platforms supported, SQL dialects and products limits.
Platform comparison
SQL Server 2000 only works on Windows-based platforms, including Windows 9x, Windows NT, Windows 2000 and Windows CE.In comparison with SQL Server 2000, MySQL version 4.1 supports all known platforms, including Windows-based platforms, AIX-based systems, HP-UX systems, Linux Intel, Sun Solaris and so on.
Hardware requirements
To install SQL Server 2000, you should have the Intel or compatible platforms and the following hardware:
Processor: Pentium 166 MHz or higher
Memory: 32 MB RAM (minimum for Desktop Engine),64 MB RAM (minimum for all other editions),128 MB RAM or more recommended
Hard disk space:
270 MB (full installation),250 MB (typical),95 MB (minimum),Desktop Engine: 44 MB
Analysis Services: 50 MB minimum and 130 MB typical
English Query: 80 MB MySQL version 4.1 is not so powerful as SQL Server 2000 and uses less hardware resources.
To install MySQL version 4.1, you should have near 32 Mb RAM and near 60 Mb hard disk space. The general MySQL version 4.1 installation does not require additional CPU resources.
Software requirements: SQL Server 2000 comes in six editions: Enterprise, Standard, Personal, Developer, Desktop Engine, and SQL Server CE (a compatible version for Windows CE)
MySQL version 4.1 comes in two editions:
The Standard edition are recommended for most users and contains general MySQL features. The Max edition includes additional features such as the Berkeley DB storage engine, OpenSSL support, user-defined functions (UDFs), and BIG_TABLE support.MySQL version 4.1 requires the following software:
Platform
Operating System Version
Windows-based
Windows 95/98/NT/2000/XP/2003
Sun Solaris
Solaris 8 (SPARC)
FreeBSD
FreeBSD 4.x (x86)
Mac OS X
Mac OS X v10.2
HP-UX
HP-UX 10.20 (RISC 1.0),HP-UX 11.11 (PA-RISC 1.1 and 2.0),HP-UX 11.11 (PA-RISC 2.0, 64-bit only)
AIX-Based
AIX 5.1 (RS6000),AIX 4.3.2 (RS6000),AIX 4.3.3 (RS6000)
QNX
QNX 6.2.1 (x86)
SGI Irix
SGI Irix 6.5
Dec OSF
Dec OSF 5.1 (Alpha)
Performance comparison
It is very difficult to make the performance comparison between SQL Server 2000 and MySQL version 4.1. The performance of your databases depends rather from the experience of the database developers and database administrator than from the database’s provider. You can use both of these RDBMS to build stable and efficient system. However, it is possible to define the typical transactions, which used in inventory control systems, airline reservation systems and banking systems. After defining these typical transactions, it is possible to run them under the different database management systems working on the different hardware and software platforms.
TPC tests The Transaction Processing Performance Council (TPC.Org) is independent organization that specifies the typical transactions (transactions used in inventory control systems, airline reservation systems and banking systems) and some general rules these transactions should satisfy.The TPC produces benchmarks that measure transaction processing and database performance in terms of how many transactions a given system and database can perform per unit of time, e.g., transactions per second or transactions per minute.The TPC organization made the specification for many tests. There are TPC-C, TPC-H, TPC-R, TPC-W and some old tests, such as TPC-A, TPC-B and TPC-D. The most popular test is the TPC-C test (OLTP test).At the moment the article was wrote, SQL Server 2000 held the second position in the TPC-C by performance results. See Top Ten TPC-C by Performance Version 5 Results At the moment the article was wrote, SQL Server 2000 held the top TPC-C by price/performance results.See Top Ten TPC-C by Price/Performance Version 5 Results MySQL does not participate in TPC-C tests, they make their own benchmark tests. These tests are not independent, but if you interesting, see this link:The MySQL Benchmark Suite
Features comparison
Both SQL Server 2000 and MySQL version 4.1 support the ANSI SQL-92 entry level and do not support the ANSI SQL-92 intermediate level. In the Features comparison section of this article, I want to make the brief comparison of the Transact-SQL with MySQL dialect and show some SQL Server 2000 and MySQL version 4.1 limits.
T-SQL vs MySQL dialectThe dialect of SQL supported by Microsoft SQL Server 2000 is called Transact-SQL (T-SQL). The dialect of SQL supported by MySQL version 4.1 is called MySQL dialect. Transact-SQL dialect is more powerful language than MySQL dialect.
It is not true that SQL Server 2000 is better than MySQL version 4.1 or vice versa. Both products can be used to build stable and efficient system and the stability and effectiveness of your applications and databases depend rather from the experience of the database developers and database administrator than from the database’s provider. But SQL Server 2000 has some advantages in comparison with MySQL version 4.1 and vice versa.
The SQL Server 2000 advantages:
SQL Server 2000 holds the top TPC-C performance and price/performance results.
SQL Server 2000 is generally accepted as easier to install, use and manage.
Transact-SQL is more powerful language than MySQL dialect.
The MySQL version 4.1 advantages:
MySQL version 4.1 supports all known platforms, not only the Windows-based platforms.
MySQL version 4.1 requires less hardware resources.
You can use MySQL version 4.1 without any payment under the terms of the GNU General Public License. This is from MySQL version 4.1 documentation:MySQL Server was designed from the start to work with medium size databases (10-100 million rows, or about 100 MB per table) on small computer systems.
MySQL and FirebirdSQL Top Open Source DB List
(originally from internetnews.com)
A report from Evans Data shows that FirebirdSQL and MySQL are the most popular open source databases currently in use.
The findings are part of Evans Data’s Database Development Survey of more than 400 developers. According to the survey, 52.9 percent said they are using MySQL and 51.6 percent said they were using FirebirdSQL.
PostgreSQL came in third at 14.8 percent, and Sleepycat’s Berkely DB (4.1 percent), GNU SQL (3.3 percent) and SAP DB (1.2 percent) rounded out the list.
The Firebird name became the subject of heated dispute in the open source community in 2003 when the Mozilla project re-named its next-generation browser Phoenix to Firebird. After bowing to pressure from the community and the FirebirdSQL project, Mozilla changed the name to Firefox last year.
According to Evans Data’s research, MySQL and FirebirdSQL are each fulfilling different niches.
“Firebird has a very strong position in what we define as edge databases that could be embedded databases — databases sitting at the periphery of the enterprise,” Evans Data analyst Joe McKendrick told internetnews.com. “MySQL had a stronger showing on the enterprise level.”
The distant third place showing by PostgreSQL in the Evans Data survey is likely related to its previous lack of proper Windows support, according to McKendrick. PostgreSQL version 8.0 of its database, which now includes native Windows support.
“In our survey, 90 percent of our developers work with or deployed to Windows platforms,” McKendrick explained. “Windows dominates this space, and a database that doesn’t run on Windows or doesn’t run effectively in Windows would have a fairly limited reach.”
Among the other findings of the Evans Data study is that data restoration capabilities have climbed over the past year. In 2003, 41 percent of respondents reported they could restore mission critical data within an hour. That number jumped to 62 percent in 2004.
Security also seems to a strong point for database administrators in 2004. Eighty-nine percent of respondents reported they had no database security breaches.
Software’s Top 10 2005 Trends: #2 Open Source
Article originally from Burnam’s beat (3/16/2005)
Open Source is one of the most important and perhaps the most controversial trends within the software industry. While some see Open Source as a kind of communal catalyst for innovation and creativity others see it as a wildly destructive trend that threatens to undermine the economic viability of the entire software industry.
To date, Open Source projects have largely been focused on broad horizontal platforms within infrastructure software. These projects have been so numerous and so successful that many pundits now talk about building applications on top of the all-Open Source LAMP (Linux, Apache, MySQL, Php/Python/Perl) stack. And that stack continues to get bigger as Open Source projects start migrating to more complex infrastructure platforms, such as applications servers (J-Boss, Zope, JonAs, Enhydra). In fact, there are Open Source projects currently underway for just about every major infrastructure software technology you can think of from Content management, to BPEL, to you name it.
One of the biggest questions facing the software industry in 2005 is whether or not Open Source will “jump the species barrier” and start to become a major factor in the enterprise applications space. A quick look at Sourceforge confirms that to date most Open Source efforts in the applications space have been confined to niche applications in the academic space, but there are now numerous efforts underway, such as SugarCRM, to try and create enterprise-ready Open Source applications. Whether these applications efforts are successful or not is one of the key issues keeping software company executives up at night.
For software executives, Open Source presents three major choices: beat it, join-it, or co-opt it. The conventional wisdom suggests that the way to beat Open Source is to “out-engineer” Open Source by providing a more stable, secure and feature rich product while at the same time “out-servicing” Open Source by providing robust 24/7 support. This strategy appears to be keeping many Global 2000 customers “in the fold” for now, but even at these customers Open Source software is increasingly showing up in non-mission critical areas.
Joining Open Source is an option many companies, especially many small infrastructure software companies, increasingly appear to be taking. These companies typically develop their software in-house and then once finished (or almost finished) declare to their software to be “Open Source”. The strategy is essentially to use “free Open Source software” as a way to acquire customers that can then be charged services and maintenance fees. This strategy sounds great but has several drawbacks, chief of which is that simply declaring a software product to be Open Source does not automatically create a large community of diverse programmers who are willing to devote substantial free time to improving the product, but it definitely does make the company’s IP public domain. Thus, many of these companies face the prospect of getting little or no development leverage from Open Source in return for giving up the copyright to all of their code.
Attempting to co-opt Open Source is probably the most popular and most complicated approach to dealing with the issue. IBM is the poster child of Open Source co-opting. IBM primarily sees Open Source as a way to commodify the main revenue sources of its key competitors. IBM’s bear hug of Linux was largely part of a (arguably wildly successful) strategy to undermine the value of Solaris and Windows NT and thereby stall their push into the glass house. But IBM’s love of OpenSource only goes so far. You don’t see them pushing J-Boss at the expense of Websphere or MySQL at the expense of DB2. Indeed IBM continues to lay out big bucks for “proprietary” software, so their love of Open Source appears to only go as far as they can co-opt it. Taking IBM’s lead, most of the other major software vendors (save Microsoft) now appear to be selectively co-opting Open Source to use as a weapon against their competitors.
For software VCs, Open Source creates a number of tricky investment problems. If one continues to invest in proprietary software, you run the risk of getting “Open Sourced” if the space becomes attractive enough to create either a developer community groundswell or interest from an elephant like IBM. If one invests in Open Source, you run the risk competing with 5 other companies selling the same product and turning software margins into services margins.
However, there is some middle ground. For example, companies that offer software as a service are somewhat protected from Open Source pressures as customers are buying the whole service not just the code. Indeed companies that offer software as a service can leverage a lot of Open Source software to lower their own costs. In addition, while Open Source projects may make some headway into a few large horizontal applications, chances are that it will be very difficult for them to penetrate specialized vertical niches because there just aren’t a lot of developers out there that understand the business logic required for those niches, thus making it much harder for an Open Source project to attain critical mass.
Ultimately the biggest issue for VCs is whether or not Open Source has effectively “capped” the home-run potential of software deals by guaranteeing that any new horizontal software platform that achieves critical mass will inevitably face intense competition from a free, Open Source equivalent.
Personally, I’d like to think that the answer to that issue is “no”, but I also believe that creating a next-generation “home run” platform company is now a whole harder thanks to Open Source.
No commentsHow to install php 4.4.1 on iis 6.0
Although this is not as common as installing it on a *nx machine (since I personally use freebsd and linux, im not going to play favorites), there are still a great deal of people out there that for one reason or another, would like to php scripts on a windows 2003 box (the company I worked for would not allow us to run anything but windows machines).
Steps for installing php 4.4.1 on a windows 2003 machine
note: These instructions are for iis 6.0
Step 1: Download php 4.4.1 (get the binary package, not the installer)
Step 2: Extract the .zip file you just downloaded (I usually extract it to the c drive and rename it php, but the name can be anything).
Step 3: Launch the iis (internet information services) manager
Step 4: Click on “web service Extensions” on the left and right-click on the right and pane and go to “add a new web service extension”. There should now be a new window on the screen. for “extention name” use “.php”. Click the add button on the right, and point it to c:\(the php directory from step 2)\sapi\php4isapi.dll. After this is done, check the box that says “set extension status to allowed” and click ok.
Step 5:
a) right-click “web sites” and go to properties.
b) click on the tab “home directory”
c) where it says “execute persmissions” it should state: “scripts and executables”
d) click the “configuration…” button
e) click the “add…” button
f) for executable, use the same one from step 4 (php4isapi.dll).
The extensions should be .php.
Step 6: copy php.ini to c:\windows and php4ts.dll,php4ts.lib to c:\windows\system32
Testing your new installation:
I usually create a file called “info.php” with the following:
If everything has been installed properly, when you go to “info.php”, you should see an information page about php 4.4.1
3 commentsSuccessfully Backing up and Restoring IIS 6.0
There comes a time in every system administrator’s life when they must face a harsh reality. Your company’s webserver has had a major harddrive failure and it needs to be running again as quickly as possible because in the business world, time=money.
After personally going through the above scenario a dozen times, I scoured the Internet to
find the best solution for backing up and restoring all of my company’s websites. Microsoft provides a few solutions within their knowlege base, but most require you to restore it on the exact system (hardware) where it was backed up.
I came up with a solution that is fairly simple to execute and is hardware independent.
Disclaimer: I have tried the following and it has worked successfully for me, but use it at your own risk. I am not responsible for any damage you may cause from following this procedure.
Steps for backing up (These steps will be done on the original server)
Step 1: Download and Install the iis 6.0 resource kit (link here)
Step 2: We are first going to backup the metabase files for your server. This is a sort of internal registry designed specifically for IIS.
A) Launch the program called “Metabase Explorer” that came with the resource kit
B) Two items can be seen on the left-hand pane. “Lm” and “Schema”. Both of these need to be saved. To do this, right-click on each one individually and then go to “export to file”. To make it easier for restoring, I prefer to use the exact names of each key: “Lm.mbk” and “Schema.mbk”. If you don’t use this naming convention, just remember the file that is associated with the proper key.
C) Now, the actual websites can be backed up. There is nothing special that needs to be done here. The entire website directory just needs to be copied to your desired location. Also worth noting: remember the exact path of your websites directory. IE: “C:\websites” or “c:\wwwroot”. You will need this when restoring.
Steps for Restoring (These steps will be done on the new/target server)
Step 1: Copy all website files from the backup to the exact filepath as the original server (from step 2 part c from above)
Step 2: install the iis 6.0 resource kit
Step 3: launch the metabase explorer
Step 4: left-click on “LM” on the left-hand pane and go to metabase->import key. Then point it to the LM key file that has been backed up.
Step 5: Follow step 4 for “schema”.
Step 6: This step is important, because without it, your websites will be inaccessible. If this step is forgotton, you will see a username/password authentication box whenever someone tries to visit any of your websites.
A) Open up the IIS manager
B) In the left-hand pane, right-click websites and go to properties.
C) Go to the tab that says “directory security”and under “authentication and access control” click on “edit”.
D) The restore process clears these settings, so make sure “enable anonymous access” is checked and an username/password is set. It will not allow a blank password, so a password will need to be set for the anonymous user account on the system username: IUSER_*MACHINE NAME*. This can be done through the administrative user control panel.
You should now have an exact copy of your websites.
2 comments




