Saya mencoba menulis spesifikasi untuk server data warehouse untuk upgrade data warehouse yang direncanakan.
Saat kami menjalankan server virtual pada host VMWare, kami memiliki kemampuan untuk menambah atau menghapus sumber yang diperlukan. Di masa lalu kami telah menambahkan RAM dan CPU secara bertahap sesuai kebutuhan. Karena tuntutan kami meningkat, kami telah melobi untuk sumber daya yang lebih banyak. (terutama disk & RAM).
Kami meminta lebih banyak. Mereka memberi kita sesedikit mungkin.
Namun baru-baru ini setiap kali kita berbicara tentang sumber daya kita sekarang dikritik karena tidak menentukan mesin tepat di tempat pertama, dan saya sekarang diberitahu bahwa host dev sudah di-maks, tidak ada lagi RAM yang tersedia.
Kami adalah organisasi kecil Pemerintah Daerah dengan ~ 50 pengguna reguler dari DW. Dalam penggunaan sehari-hari normal itu berjalan dengan baik. Kami mendapatkan kinerja permintaan mdx yang baik, dan laporan serta dasbor kami cepat. Pengguna senang.
Namun proses ETL kami berjalan sepanjang malam, dan kami mulai melihat bukti tekanan memori saat memproses data secara bersamaan. Tadi malam SSIS gagal dengan peringatan tentang "kehabisan memori kesalahan".
DW server kami yang ada adalah Win 2008 R2 dengan 4 CPU dan 16Gb RAM yang menjalankan SQL 2012 Std. Saya memiliki memori server maks yang disetel ke 12GB, meninggalkan 4GB untuk OS dan layanan, dll. DW kami saat ini memiliki 3 datamarts / OLAP cubes, dan kami sedang mengembangkan 2 lagi.
+----------+----------+---------------+-----------+---------------+
| Datamart | Files GB | Fact (Rows) | Fact (Mb) | ETL & Process |
| OLAP cube| | | | Time (hours) |
+----------+----------+---------------+-----------+---------------+
| PBI | 3 | 190,000 | 180 | 0.2 |
| FBI | 30 | 26,100,000 | 10,000 | 1.5 |
| RBI | 175 | 62,000,000 | 32,000 | 8.3 |
| ABI* | 100 | 44,050,000 | 21,000 | 4.0 |
| EBI* | 11 | 100,000,000 | 6,000 | 2.0 |
+----------+----------+---------------+-----------+---------------+
* Planned/Estimated
Server baru kami direncanakan menjadi Win 2012 yang menjalankan SQL 2016 Enterprise. Ini akan menjalankan SQL, SSIS, SSR & SSAS. Penyimpanan bukan masalah, tapi saya tidak yakin tentang RAM & CPU.
Menurut Panduan Referensi Gudang Data Jalur Cepat untuk SQL Server 2012 , minimum yang harus saya miliki adalah 128Gb untuk mesin 2 soket ... yang tampaknya agak berlebihan. The Hardware dan Software Persyaratan untuk Instalasi SQL Server 2016 merekomendasikan minimal 4Gb RAM untuk SQL 2016. Itu ini cukup perbedaan!
Jadi .. Apa titik awal yang baik? 32Gb? 64Gb? Bagaimana saya membenarkan posisi awal saya (spek) untuk TI?
Apakah ada panduan bagus tentang cara menghitung sumber daya server?
Apakah ada aturan praktis yang baik?
Apa bahan / metrik utama untuk ukuran RAM dalam konteks DW?
- Volume data?
- Jumlah kubus?
- Waktu yang diperlukan untuk melakukan ETL atau memproses kubus?
- Beban pemrosesan puncak semalaman atau kinerja seperti yang dilihat oleh pengguna akhir di siang hari?