08.29.05

SATA RAID with Intel ICH6R

Posted in Programming at by chenty

After the hard drive was crashed, I decide to implement a RAID to strengthen reliability. I have a motherboard support SATA RAID (supported by Intel ICH6R Southbridge chip, well it maybe not the name, but I didn’t play around with hardware for long time, so forgive me if I were wrong). Here is what I did:
1. Install 2 new SATA hard drive. I recommend to use the same hard drive for better performance and reliability.
2. go to BIOS, find “IDE Configuration”, and change the mode from Normal to SATA RAID.
3. Now, when I booted up again, after POST, the Intel RAID management utility shows, now press Ctrl+I to enter the menu
4. Select “Create RAID Volume”
5. Here I choose RAID Type as “RAID 1″. (Most manual use RAID 0, but I am not a person for better performance, but I am a person who will go for security and reliability. Anyway, if you want both, you can use RAID 0+1 (Not RAID 10 or RAID 1+0 btw) which is also supported by ICH6R. For more infomation about RAID: use Google, and search RAID… lol
6. This step I really should put at beginning, but that’s what I DID — create a floppy disk with RAID driver for Windows 2000 or Windows XP. You can find the driver in motherboard driver disk always. It’s in a file called “F6flpy32″ (for 32 bit. I think should be called F6flpy64 for 64bit?). FYI, In my ASUS motherboard driver disk, it’s under “F:\Drivers\Chipset\Intel\IAA\F6 Install Floppy”.
7. Now you can boot up computer and boot with your Windows 2000 or Windows XP CD. And in the blue startup screen, if you read the message at the bottom of screen it should say something like something about RAID and press F6 etc. That is why the file is called “F6flpy32″ FYI. =)
8. So press F6, until you reach a screen ask you something to press “S” to select your driver. Press “S”, and it will read your floppy disk which you created with F6flpy32. People always asked, “what happened if I don’t have a floppy disk”? Unfortunately, there is no solution for that… unless you have a USB drive can work under “USB Floppy Mode” and your BIOS setup support USB Floppy.
9. After this step, the installation will be as usual.

You can also install Intel Application Accelerator after you installed Windows 2000 or XP to manage your RAID, but this is totally optional.

Some update

Posted in Programming at by chenty

I am very very busy with work and CNE (Canadian National Exhibition) recently, but the worse thing is: Last Thursday, server crashed….

I went Thursday morning, and I found that database server is crashed, and C drive is lost. I have no idea how this happens, maybe virus, but I doubt because I trust all the antivirus software working on it, and I never visited strange websites with that server. Anyway, I need to restore everything. Good news was D and E are still there, and I have most of data backed up on separate media as well. However, the restoration still takes time. I recovered Windows2000 and database and patch all newest service packs in around 3 hours. The I started to restore database.

I planned to restore from database backup, which is 3 days old, but I did have some important data that isn’t backed up in the backup file. Fortunately, I have drive D and E, where the database file is still there. I simply use “attach database” in Enterprise Manager to restore all the databases. Boom, all data tables, views, stored procedures are back in less than 5 mins! =) I love Microsoft for this.

However, I still have a lot of DTS packages need to restore, and I just updated several DTS packages on Wednesday, which I haven’t backed up yet. The good news is, there is another way to restore DTS packages saved in “Local Packages”:
1. locate the old msdb file (”msdbData.mdf” I believe)
2. All task->attach this file as msdb-old database
3. open Query Analyzer and run this SQL query: INSERT [msdb].[dbo].[sysdtspackages] SELECT * FROM [msdb-old].[dbo].[sysdtspackages]
4. Restart service

All local packages are saved in sysdtspackages table in msdb. Therefore, all I need to do, is copy from old msdb to new msdb. However, because it is a system table, it cannot be imported by using “import/export wizards” or “DTS desinger” etc (I think it can be done with DTS designer, but not anymore with SP4). Anyway, that SQL query is simply enough.

I have also build a SATA RAID with Intel ICH6R chipset and 2 SATA HDD. I will talk about it in another thread.

08.21.05

Search Performance 2

Posted in Programming at by chenty

After reading through several books, I still don’t find what I am looking for. However, there is a really good database design book I found it is a very good review for me. The structure of that book is very clear. Here is the book:
“Building Highly Scalable Database Applications with .NET” by Wallace B. McClure and John J. Croft IV

It has much fundamental information on database design and a little bit detail on specific database such as MS SQL Server, Oracle, DB2 and MySQL. However, since it mainly targets on .NET application, the book has more weight on MS SQL Server. However, these fundamentals are really quite similar among these databases.

In regard to my project, I will keep browsing through books and online documents. So far, I could not find any similar project examples online. However, I guess there is not much information on certain project anyway. I think what I can do at this moment is:
1. Design a good database structure, and pay more attention to Index, which can really help the performance, since my program requires fast “select”, I think it’s important to use Index correctly and optimal.
2. I am not sure whether I should separate aged data from current data. It seems a good approach to help boost performance since in my applicaiton aged data only serves for backup, and will not be part of most queries. This is similar to OLAP and OLTP approaches, but in a much smaller scale.

I will continue my learning and research on this topic. I have much interests on database design now. =)

08.19.05

Search Performance

Posted in Miscellaneous at by chenty

I have just got a new project this week, and this is a challenging project as well. But there is only 1 big problem I have right now: Search Performance. It is a real-time management system, which response time is critical. However, if I have 10,000 users and everyone put 20 transactions per day, the data table will grow 200k a day. That is 6 mil record a month, imagine after a year… I have to figure out a way to reduce the response time within 5 seconds even with 100+ million records. I will post my finding here. This is a very exciting project =D

08.09.05

Busy working with SRS and SDD

Posted in Programming at by chenty

I have been busy with my work these days because I got a new project. I am working on Software Requirements Specifications (SRS) and Software Design Descriptions (SDD) for the past weeks, and still continue working on it. I have gone through IEEE Std 830-1998 and 1016-1998 and other IEEE standards many times to finish my work. It is not necessary for this project since it is relatively simple, but I think it will be a good practice for me to do it. =P I have also started learning Oracle 9i, and I found it is interesting. I like Oracle much more than SQL Server 2000, but I dont’ know why. I just feel that PL/SQL is much powerful than Transact SQL. I was even thinking about doing Oracle Certifications, but they have a requirement that I have to finish one Oracle University Course ($3000) in order to qualify for OCP, which is totally out of my budget now =(

Because I am learning on basics for above stuff, nothing I found worth to write in my blog. These are just basics! I am young, so I should read more than I write anyway. =P