private static void ProcessDataInParallel(byte[] data) { // Use ConcurrentQueue to enable safe enqueueing from multiple threads. var exceptions = new ConcurrentQueue<Exception>(); // Execute the complete loop and capture all exceptions. Parallel.ForEach(data, d => { try { // Cause a few exceptions, but not too many. if (d < 0x3) throw new ArgumentException(String.Format("value is {0:x}. Elements must be greater than 0x3.", d)); else Console.Write(d + " "); } // Store the exception and continue with the loop. catch (Exception e) { exceptions.Enqueue(e); } }); // Throw the exceptions here after the loop completes. if (exceptions.Count > 0) throw new AggregateException(exceptions); }
Tuesday, December 27, 2011
Cathing exceptions in pararlel for
Parallel for
int[] nums = Enumerable.Range(0, 1000000).ToArray(); int[] results = new int[nums.Length]; Parallel.For(0, nums.Length, (i,loopsatate) => { if (i < 100) results[i] = 2 * nums[i]; else { loopsatate.Stop(); return; } } );
Struct larda aynı yere iki değişkenle bakmak
[StructLayout(LayoutKind.Explicit)] struct TestExplicit { [FieldOffset(0)] public long lg; [FieldOffset(0)] public int i1; [FieldOffset(4)] public int i2; } public static void Main(string[] args) { TestExplicit t = new TestExplicit(); t.lg = long.MaxValue; int a = t.i1; int b = t.i2; }
Thursday, February 17, 2011
Oracle Notes
DML data manipulation language
Client -server uygulamalar direk client daki program database e erişir
Multitier application lar çok katmanlı yazılımlar presentation katmanı application katmanı database katmanı birbirlerinden farklı
raid 0 stripping sadece performans
raid 1 mirroring sadece veri güvenliği
raid 1+0 stripping +mirroring performans + güvenlik
raid 5 stripping with parity performans +güvenlik ama disk boyutunu ikiye katlamadan
Oracle Net protocol 1521 1526
MVC ile three tier application farkı mvc de her tier birbirine mesaj gönderir ama three tier da üst ile alt birbirini görmez
Oracle file extension
-Oracle ın disk block boyutları sisteminki ile aynı veya kolay bölünebilir olmalı asla sistem bloklarının boyutundan küçük olmamalı
-Oracle data dosyalarının uzantısı .dbf data base file
-Archive log files has extension .log .arc .arch
Oracle Buffer cache state
Free blocks
Pinned bloklar şu anda erişilen bloklar
Dirty bloklar değiştirilmiş olanlar
Dirty bloklar database kapatma komutu ile her 3 saniyede bir checkpoint oluşturulduğunda diske yazılır
Parsing Oracle Queries
Oracle a bir query gittiği zaman sırayla
-Query nin imlasının (syntax) doğru olup olmadığı kontrol edilir
-Kullandığımız objeler kontrol edilir
-Yetkileriniz kontrol edilir
-Query database diline çevrilir(byte code p-code
-Oracle en optimum işletme planını yolunu çıkarır
BI
DSS decision support system.
OLAP Online Analytical Procesing
OLTP Online Transactional Processing
System Global Area Bir oracle instanceının ramde kullandığı ortak alan
Shared Pool bu alandaki objeler sık kullanıldıkları için diske yazılmazlar
-Library Cache
-Dictionary Cache
-Quickest result Cache
-Sql result Cache
bunlar daha önceden hesaplanmış değerleri içerir birdaha birdaha hesaplanmaz.
Grid computing vs cluster computing
Grid computing farklı domainlerdeki bilgisayarların ki çoğunlukla homojen bir dağılım söz konusu değildir ortak bir hedef için birleşik çalışmaları cluster computing ise tek süper güçlü bir bilgisayar yerine birçok bilgisayarın tek bir bilgisayar gibi çalışması.Oracle
Oracle 11 g- G deki G nedir
Oracle 1990 larda internetin popülerleşmesi ile oracle 8i yi çıkardı I nin buradaki anlamı internetti.Şu sıralar popüler olan grid computing in g side oracle 11g ye ismini vermiştir