Пример #1
0
        static void InsertBatch()
        {
            Console.WriteLine("Inserting a bunch of trial data objects...");

            var trialBatch = new List<Model.TrialData>();
            var random = new Random();

            var watch = new Stopwatch();
            watch.Start();
            for(int i=1; i<=50000; i++)
            {
                var parameters = new List<Parameter> {new Parameter { Name = "GBP.TotalReturnIndex", TrialNumber = 1, Value = random.NextDouble() },
                                                      new Parameter { Name = "USD.TotalReturnIndex", TrialNumber = 2, Value = random.NextDouble() },
                                                      new Parameter { Name = "EUR.TotalReturnIndex", TrialNumber = 3, Value = random.NextDouble() }};
                var trialData = new TrialData { StressNumber = i, Parameters = parameters.ToArray() };

                //var ravenConnection = new RavenConnection { ServerUrl = "http://localhost:8081/", DatabaseName = "TrialData" };
                //Console.WriteLine("Inserting Stress {0}", i);
                //var ravenDB = new RavenDB();
                //var elapsed = ravenDB.PostTrialData(ravenConnection, trialData);
                //Console.WriteLine("insert complete in {0}ms", elapsed);
                trialBatch.Add(trialData);
            }

            var ravenConnection = new Model.RavenConnection { ServerUrl = "http://localhost:8081/", DatabaseName = "TrialData" };
            var ravenDB = new RavenDB();
            var elapsed = ravenDB.BulkInsertTrialData(ravenConnection, trialBatch);
            watch.Stop();

            //var elapsed = ravenDB.BulkInsertTrialDataEmbedded(ravenConnection, trialBatch);

            Console.WriteLine();
            Console.WriteLine("Operation complete in {0} minutes, {1} seconds and {2} milliseconds", watch.Elapsed.Minutes, watch.Elapsed.Seconds, watch.Elapsed.Milliseconds);
        }
Пример #2
0
        public long BulkInsertTrialDataEmbedded(RavenConnection ravenConnection, IEnumerable<TrialData> trialBatch)
        {
            var watch = new Stopwatch();
            watch.Start();

            var eds = new EmbeddableDocumentStore { DataDirectory = @"C:\Projects\EDSTest\EDSData" };
            eds.Initialize();
            using (var bulkInsert = eds.BulkInsert())
            {
                foreach (var item in trialBatch)
                    bulkInsert.Store(item);
            }

            watch.Stop();
            return watch.ElapsedMilliseconds;
        }
Пример #3
0
        public long BulkInsertTrialData(RavenConnection ravenConnection, IEnumerable<TrialData> trialBatch)
        {
            var watch = new Stopwatch();
            watch.Start();

            InitializeDocumentStore(ravenConnection.ServerUrl);
            //documentStore.DatabaseCommands.PutIndex("TrialData/ByStressNumber",
            //                                        new IndexDefinitionBuilder<TrialData>
            //                                        {
            //                                            Map = x => from item in trialBatch
            //                                                           select new { item.StressNumber }
            //                                        });

            using(var bulkInsert = documentStore.BulkInsert(ravenConnection.DatabaseName))
            {
                foreach (var item in trialBatch)
                    bulkInsert.Store(item);
            }

            watch.Stop();
            return watch.ElapsedMilliseconds;
        }
Пример #4
0
 public TrialData ReadTrialData(RavenConnection ravenConnection)
 {
     throw new NotImplementedException();
 }
Пример #5
0
 public long PostTrialData(RavenConnection ravenConnection, TrialData trialData)
 {
     var ravenDB = new RavenDB();
     return ravenDB.PostTrialData(ravenConnection, trialData);
 }
Пример #6
0
 public long BulkInsertTrialData(RavenConnection ravenConnection, IEnumerable<TrialData> trialBatch)
 {
     var ravenDB = new RavenDB();
     return ravenDB.BulkInsertTrialData(ravenConnection, trialBatch);
 }
Пример #7
0
        public long PostTrialData(RavenConnection ravenConnection, TrialData trialData)
        {
            var watch = new Stopwatch();
            watch.Start();

            InitializeDocumentStore(ravenConnection.ServerUrl);
            var session = documentStore.OpenSession(ravenConnection.DatabaseName);

            session.Store(trialData);
            session.SaveChanges();

            watch.Stop();
            return watch.ElapsedMilliseconds;
        }