Tuesday, December 27, 2011

Cathing exceptions in pararlel for

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); }

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