院長のメモ帖
2012年4月12日 木曜日
SQL2012でAlwaysOnを試してみた
今日も、動物病院、、、、の話ではなくパソコンの話です。
昨年末に、顧客管理のデーターベースをAccessからSQLサーバーに切り替えました。
ちょうどこの病院を作ったのが2000年で、そのころはまだVBでプログラムしてましたので、自作の顧客管理プログラムはAccessのVBを使うのがリーズナブルかつ簡単でした。
.NETが発表されて、C#がリリースされたのを機会にプログラミング環境をC#に全面的に切り替えました。何度か、Accessの帳票ベースからC#のWindowsフォームベースに切り替えようとしたのですが、SQL文にどうしてもなじめないとか、かえって遅くなるとか、いろいろな理由で10年以上運用してしまいました。
しかし、C#4.0の登場を機にLinqを触り始めたら、飛躍的にプログラミングの効率が良くなっていることに気が付いて.NETベースの顧客管理ソフトを1か月ぐらいででっち上げました。
そして、試しにSQLサーバーにデーターを移してLinqToSQLを使ってみたら、Accessよりずっと速いではないですか。サーバーの能力も10年前とは桁違いだし、.NET自体も速くなったみたいだし、Visual Studio上でデーターベース管理も行えるしということで、Accessをつかうメリットはほぼないなということで切り替えちゃいました。
それで、現在はSQLで運用していますが、1点だけ怖いのがあって、SQLサーバーが落ちた時のダウンタイムです。ファイルベースのAccessの場合は、ファイルサーバーが落ちてもリアルタイムでデュプリケートしている予備ファイルサーバーに自動的に切り替えるだけで済みますが、SQLの場合、フェイルオーバークラスタ環境でないと、自動で切り替えというわけにはいきません。クラスター化した場合、ストレージが単一の障害点となり、ストレージもクラスター化が必要ですが、そこまでの機材は揃えれません。
しかし、新しく出たSQL2012のAlwaysOnだと、共有ストレージが不要です。これだと、手軽に自動フェイルオーバーが行えます。3台のSQL2012Coreを試しに作って、実験してみました。
インストールと設定は大して迷うこともなかったです。一つはまったのが、バーチャルマシン上でフェイルオーバークラスターの機能とSQLサーバーをインストールして、VHDをコピーしてsysprepかけて3台用意したのですが、フェイルオーバー機能に伴ってインストールされた仮想IPのMACアドレスが3台とも同じになってしまいクラスタリングの作製でエラーが出て先に進めませんでした。いったん機能をアンインストールしていれなおしたら違うMacアドレスになり問題が解決しました。VMで複数台用意する場合、Sysprep後にフェイルオーバークラスターをインストールしたほうが無難なようです。
AlwaysOn機能の設定は、非常に簡単で http://www.microsoft.com/ja-jp/sqlserver/2012/movie.aspx にある「SQL Server AlwaysOn による可用性の向上」という自習書を参照してインストールすれば、ほぼ迷うことはなかったです。
で、実際に自動フェイルオーバーを試してみました。クライアントソフトを立ち上げてデーターベースと接続して、SQLをシャットダウン=>自動フェイルオーバーして、再びクライアントソフトをいじったところ、少しの間反応が止まってから無事に動き出しました。瞬時にというわけにはいきませんが、クライアントソフト側でなんの対応もすることもなくフェイルオーバーできました。これは、理想に近い環境です。でかいクエリをしている途中にフェイルオーバーした場合は、さすがにエラーが出ましたが、顧客管理をLinqToSQLでアクセスしている分には、ほとんど瞬時のクエリばっかりだし、クエリが終わればほとんどの場合接続を切りますので、データーロスの可能性はかなり低いようです。
昨年末に、顧客管理のデーターベースをAccessからSQLサーバーに切り替えました。
ちょうどこの病院を作ったのが2000年で、そのころはまだVBでプログラムしてましたので、自作の顧客管理プログラムはAccessのVBを使うのがリーズナブルかつ簡単でした。
.NETが発表されて、C#がリリースされたのを機会にプログラミング環境をC#に全面的に切り替えました。何度か、Accessの帳票ベースからC#のWindowsフォームベースに切り替えようとしたのですが、SQL文にどうしてもなじめないとか、かえって遅くなるとか、いろいろな理由で10年以上運用してしまいました。
しかし、C#4.0の登場を機にLinqを触り始めたら、飛躍的にプログラミングの効率が良くなっていることに気が付いて.NETベースの顧客管理ソフトを1か月ぐらいででっち上げました。
そして、試しにSQLサーバーにデーターを移してLinqToSQLを使ってみたら、Accessよりずっと速いではないですか。サーバーの能力も10年前とは桁違いだし、.NET自体も速くなったみたいだし、Visual Studio上でデーターベース管理も行えるしということで、Accessをつかうメリットはほぼないなということで切り替えちゃいました。
それで、現在はSQLで運用していますが、1点だけ怖いのがあって、SQLサーバーが落ちた時のダウンタイムです。ファイルベースのAccessの場合は、ファイルサーバーが落ちてもリアルタイムでデュプリケートしている予備ファイルサーバーに自動的に切り替えるだけで済みますが、SQLの場合、フェイルオーバークラスタ環境でないと、自動で切り替えというわけにはいきません。クラスター化した場合、ストレージが単一の障害点となり、ストレージもクラスター化が必要ですが、そこまでの機材は揃えれません。
しかし、新しく出たSQL2012のAlwaysOnだと、共有ストレージが不要です。これだと、手軽に自動フェイルオーバーが行えます。3台のSQL2012Coreを試しに作って、実験してみました。
インストールと設定は大して迷うこともなかったです。一つはまったのが、バーチャルマシン上でフェイルオーバークラスターの機能とSQLサーバーをインストールして、VHDをコピーしてsysprepかけて3台用意したのですが、フェイルオーバー機能に伴ってインストールされた仮想IPのMACアドレスが3台とも同じになってしまいクラスタリングの作製でエラーが出て先に進めませんでした。いったん機能をアンインストールしていれなおしたら違うMacアドレスになり問題が解決しました。VMで複数台用意する場合、Sysprep後にフェイルオーバークラスターをインストールしたほうが無難なようです。
AlwaysOn機能の設定は、非常に簡単で http://www.microsoft.com/ja-jp/sqlserver/2012/movie.aspx にある「SQL Server AlwaysOn による可用性の向上」という自習書を参照してインストールすれば、ほぼ迷うことはなかったです。
で、実際に自動フェイルオーバーを試してみました。クライアントソフトを立ち上げてデーターベースと接続して、SQLをシャットダウン=>自動フェイルオーバーして、再びクライアントソフトをいじったところ、少しの間反応が止まってから無事に動き出しました。瞬時にというわけにはいきませんが、クライアントソフト側でなんの対応もすることもなくフェイルオーバーできました。これは、理想に近い環境です。でかいクエリをしている途中にフェイルオーバーした場合は、さすがにエラーが出ましたが、顧客管理をLinqToSQLでアクセスしている分には、ほとんど瞬時のクエリばっかりだし、クエリが終わればほとんどの場合接続を切りますので、データーロスの可能性はかなり低いようです。
2012年4月 2日 月曜日
タブレットにWindows8を入れてみた
前回に続いて、趣味のパソコンの話です。
ドスパラから購入した、Edres NT-1タブレットPCに、Windows8コンシューマプレビューをインストールしてみました。
とりあえず、パーティションを切って32bitで新規インストールしてみたのですが、速いし、タッチ操作に最適化されているしで、もはや、Windows7には戻れません。
Windows7のベータが出た時も、あまりの使い勝手の良さで、RTMが出る前からVistaを7ベータにアップグレードして運用してましたが、タブレットに関しては、Win7とWin8の関係もそんな感じになりそうです。
クリーンインストールした場合、ドライバもほぼ用意されていたようで、GPSのドライバのみ手動で入れました。普段使っているツールでインストールできなかったは、ISO閲覧用のMagic DiscとCanonのカメラ用ソフトです。
問題がないことが分かったので、もともとのWindows7パーティションに64bitのWindows8を上書きインストールしてみました。いくつかのソフトに関して警告が出たので、アンインストールして、Canonのソフトをインストールしたうえで試みてみました。
これも、特に問題ありませんでした。唯一、ATIのドライバ&ユーティリティが起動時にエラーメッセージを出すようになったので、アンインストールしましたが、予想通りCanonのDPPも問題なく動きます。
感動的なのは、ドメインにログインしてもあっという間にログインが完了できます。7だと、非ドメイン環境だと結構早くログインできますが、ドメイン環境では結構遅くて数少ない7に対する不満点でした。しかし、Win8では、瞬時とまでは言いませんが、一呼吸ぐらいでログインできます。
もう一つ驚いたのは、電池の持ちがよくなったようです。Win7では、3時間も使持たないかという印象だったのが、4時間は持ちそうです。外出先でちょこちょこ使うだけなら、ACアダプターはいらなさそうです。
土曜日に美濃加茂市から犬山線経由で名古屋に行って、本業の動物病院とは関係のない友人にこのタブレットをみせびらかして、合計1時間半程度使ってみましたが、バッテリーの残りが70%ぐらいありました。
次は、実際の使い勝手について書いてみようかと思います。
ドスパラから購入した、Edres NT-1タブレットPCに、Windows8コンシューマプレビューをインストールしてみました。
とりあえず、パーティションを切って32bitで新規インストールしてみたのですが、速いし、タッチ操作に最適化されているしで、もはや、Windows7には戻れません。
Windows7のベータが出た時も、あまりの使い勝手の良さで、RTMが出る前からVistaを7ベータにアップグレードして運用してましたが、タブレットに関しては、Win7とWin8の関係もそんな感じになりそうです。
クリーンインストールした場合、ドライバもほぼ用意されていたようで、GPSのドライバのみ手動で入れました。普段使っているツールでインストールできなかったは、ISO閲覧用のMagic DiscとCanonのカメラ用ソフトです。
問題がないことが分かったので、もともとのWindows7パーティションに64bitのWindows8を上書きインストールしてみました。いくつかのソフトに関して警告が出たので、アンインストールして、Canonのソフトをインストールしたうえで試みてみました。
これも、特に問題ありませんでした。唯一、ATIのドライバ&ユーティリティが起動時にエラーメッセージを出すようになったので、アンインストールしましたが、予想通りCanonのDPPも問題なく動きます。
感動的なのは、ドメインにログインしてもあっという間にログインが完了できます。7だと、非ドメイン環境だと結構早くログインできますが、ドメイン環境では結構遅くて数少ない7に対する不満点でした。しかし、Win8では、瞬時とまでは言いませんが、一呼吸ぐらいでログインできます。
もう一つ驚いたのは、電池の持ちがよくなったようです。Win7では、3時間も使持たないかという印象だったのが、4時間は持ちそうです。外出先でちょこちょこ使うだけなら、ACアダプターはいらなさそうです。
土曜日に美濃加茂市から犬山線経由で名古屋に行って、本業の動物病院とは関係のない友人にこのタブレットをみせびらかして、合計1時間半程度使ってみましたが、バッテリーの残りが70%ぐらいありました。
次は、実際の使い勝手について書いてみようかと思います。
2012年3月29日 木曜日
タブレットPCを買った Windows8への序曲
今日は、趣味のパソコンの話です。
タブレットPCを買いました。
タブレットといっても巷で流行っているiPadやAndroidではなく、Windows7搭載PCです。
新型iPadよりすこし高い値段なのに、解像度は1280*800しかなく、バッテリーの持ちもそれほどよくなさそう...
なのに、なぜ買ったかといえば、Windows 8 Consumer Previewを使ってみたかったからです。
Hyper-Vの仮想PCで試してたんですが、マウス操作ではいまいちだったので、タブレットでならと思い、人柱になってみました。
購入したのは、ドスパラで売っていた、Edres NT-1。メトロが動く解像度で、ある程度大きなストレージ(64GB)のタブレットPCとなると、ほとんど選択肢がありませんでした。
とりあえず、標準のWindows7を使ってみたのですが、激しくのろい!
いやAMD Z-01ということでCPUクロックが1GHzしかないことはわかっていたのですが、受付においてあるAMD E-350マシンと比べても雲泥の差。Atomとちがって、AMDのネットブック系は結構使い物になるという認識でしたが、さすがにここまでCPUが遅いと、インストールとかWindows Updateが苦痛になります。
何より困ったのが、タッチしてからアプリが起動するまでしばらくかかことがあるので、タッチに失敗したのかと思い、再タップしたりなんかすると、二重に起動するので、さらに時間がかかることに...正直、使えないという印象です。
さあ、Windows7より、軽くなったというWindows8を入れるとどうなることでしょうか。
もうすぐ忙しいフィラリア・狂犬病のシーズンが始まる前に、目いっぱい趣味に走っている美濃加茂市のこんどう動物病院でした。
Windows7を走らせている、NT-1。サーバー点検用の小型キーボードがジャストマッチ...というか、キーボードなしではWindows7は、まだまだ使い難い。
タブレットPCを買いました。
タブレットといっても巷で流行っているiPadやAndroidではなく、Windows7搭載PCです。
新型iPadよりすこし高い値段なのに、解像度は1280*800しかなく、バッテリーの持ちもそれほどよくなさそう...
なのに、なぜ買ったかといえば、Windows 8 Consumer Previewを使ってみたかったからです。
Hyper-Vの仮想PCで試してたんですが、マウス操作ではいまいちだったので、タブレットでならと思い、人柱になってみました。
購入したのは、ドスパラで売っていた、Edres NT-1。メトロが動く解像度で、ある程度大きなストレージ(64GB)のタブレットPCとなると、ほとんど選択肢がありませんでした。
とりあえず、標準のWindows7を使ってみたのですが、激しくのろい!
いやAMD Z-01ということでCPUクロックが1GHzしかないことはわかっていたのですが、受付においてあるAMD E-350マシンと比べても雲泥の差。Atomとちがって、AMDのネットブック系は結構使い物になるという認識でしたが、さすがにここまでCPUが遅いと、インストールとかWindows Updateが苦痛になります。
何より困ったのが、タッチしてからアプリが起動するまでしばらくかかことがあるので、タッチに失敗したのかと思い、再タップしたりなんかすると、二重に起動するので、さらに時間がかかることに...正直、使えないという印象です。
さあ、Windows7より、軽くなったというWindows8を入れるとどうなることでしょうか。
もうすぐ忙しいフィラリア・狂犬病のシーズンが始まる前に、目いっぱい趣味に走っている美濃加茂市のこんどう動物病院でした。
Windows7を走らせている、NT-1。サーバー点検用の小型キーボードがジャストマッチ...というか、キーボードなしではWindows7は、まだまだ使い難い。