From 67e523f61fb65203656cf125279e7e7314a248d2 Mon Sep 17 00:00:00 2001 From: Perry Skountrianos Date: Fri, 25 Mar 2016 10:53:00 -0700 Subject: [PATCH] Readme Files edits --- README.md | 35 +--------------- samples/in-memory/README.md | 12 ++++++ samples/master-data-services/README.md | 57 ++------------------------ samples/r-services/README.md | 57 +------------------------- 4 files changed, 18 insertions(+), 143 deletions(-) create mode 100644 samples/in-memory/README.md diff --git a/README.md b/README.md index 3e49e88d..1351c2d2 100644 --- a/README.md +++ b/README.md @@ -1,44 +1,11 @@ # SQL Server Code Samples This GitHub repository contains code samples that demonstrate how to use SQL Server features. Each sample includes a README file that explains how to run and use the sample. - -## Sample Categories -**In-memory** - -In-Memory OLTP can significantly improve OLTP database application performance. It is a memory-optimized database engine integrated into the SQL Server engine, optimized for OLTP. With In-Memory OLTP you can increase the transaction throughput by up to 30 times, depending on the specifics of the workload. The performance gains come from: - - For memory-optimized tables, the design of their structure is free of the physical limitations of hard drives that force design compromises. - - Core transaction processing is completely free of locks. - - Natively compiled modules execute Transact-SQL statements more efficiently. - -Read the following resources for mroe information. -- [In-Memory OLTP (In-Memory Optimization)] (https://msdn.microsoft.com/en-us/library/dn133186.aspx) -- [Quick Start 1: In-Memory OLTP Technologies for Faster Transact-SQL Performance] (https://msdn.microsoft.com/en-us/library/mt694156.aspx) -- [Get started with Columnstore for real time operational analytics] (https://msdn.microsoft.com/en-us/library/dn817827.aspx) -- [Columnstore Indexes Guide] (https://msdn.microsoft.com/en-us/library/gg492088.aspx) - -**Master Data Services** - -Master Data Services (MDS) is the SQL Server solution for master data management. Master data management (MDM) enables you organization to discover and define non-transactional lists of data, and compile maintainable, reliable master lists. This article briefly describe the MDS components and provides links to additional information. - -For information about the new features in SQL Server 2016, see [What's New in Master Data Services (MDS)] (https://msdn.microsoft.com/en-us/library/ff929136.aspx). - -**R Services** - -[SQL Server 2016 R Services] (http://blogs.microsoft.com/firehose/tag/sql-server-2016-r-services/) - -## Adding Samples -To add a sample create a subdirectory under ./samples. Start the sample name with the SQL Server feature you are showcasing. Use all lower case and separate the words with hyphens (e.g., in-memory-ticket-reservations). - -Include a README.md file at the root of the sample that explains how to run the sample. Use the README_samples_template.md as your template. - - ## Working in GitHub -To work in GitHub, go to https://github.com/microsoft/sql-server-samples and fork the repository. Work in your own fork and when you are ready to submit to make a change or publish your sample for the first time, submit a pull request into the master branch of sql-server-samples. One of the approvers will review your request and accept or reject the pull request. - +To work in GitHub, go to https://github.com/microsoft/sql-server-samples and fork the repository. Work in your own fork and when you are ready to submit to make a change or publish your sample for the first time, submit a pull request into the master branch of sql-server-samples. One of the approvers will review your request and accept or reject the pull request. ## License These samples and templates are all licensed under the MIT license. See the license.txt file in the root. - ## Questions Email questions to: sqlserversamples@micrososft.com. diff --git a/samples/in-memory/README.md b/samples/in-memory/README.md new file mode 100644 index 00000000..5757615f --- /dev/null +++ b/samples/in-memory/README.md @@ -0,0 +1,12 @@ +# SQL Server In-memory + +In-Memory OLTP can significantly improve OLTP database application performance. It is a memory-optimized database engine integrated into the SQL Server engine, optimized for OLTP. With In-Memory OLTP you can increase the transaction throughput by up to 30 times, depending on the specifics of the workload. The performance gains come from: + - For memory-optimized tables, the design of their structure is free of the physical limitations of hard drives that force design compromises. + - Core transaction processing is completely free of locks. + - Natively compiled modules execute Transact-SQL statements more efficiently. + +Read the following resources for mroe information. +- [In-Memory OLTP (In-Memory Optimization)] (https://msdn.microsoft.com/en-us/library/dn133186.aspx) +- [Quick Start 1: In-Memory OLTP Technologies for Faster Transact-SQL Performance] (https://msdn.microsoft.com/en-us/library/mt694156.aspx) +- [Get started with Columnstore for real time operational analytics] (https://msdn.microsoft.com/en-us/library/dn817827.aspx) +- [Columnstore Indexes Guide] (https://msdn.microsoft.com/en-us/library/gg492088.aspx) diff --git a/samples/master-data-services/README.md b/samples/master-data-services/README.md index 9671dc6e..fac7c4ae 100644 --- a/samples/master-data-services/README.md +++ b/samples/master-data-services/README.md @@ -1,56 +1,5 @@ -# Ticket Reservations Sample +# Master Data Services -Ticket Reservations is a Windows Forms sample application built on .NET Framework 4.6 that demonstrates the performance benefits of using SQL Server memory optimized tables and native compiled stored procedures. You can compare the performance before and after enabling In-Memory OLTP by observing the transactions/sec as well as the current CPU Usage and latches/sec. +Master Data Services (MDS) is the SQL Server solution for master data management. Master data management (MDM) enables you organization to discover and define non-transactional lists of data, and compile maintainable, reliable master lists. This article briefly describe the MDS components and provides links to additional information. -![Alt text](Screenshots/1.png "Ticket Reservations") - -## Running this sample -1. Before you can run this sample, you must have the following perquisites: - - SQL Server 2016 CTP3 (or higher) - - Visual Studio 2015 (or higher) with the latest SSDT installed. - -2. Clone this repository using Git for Windows (http://www.git-scm.com/), or download the zip file. - -3. From Visual Studio, open the **InMemoryOLTPDemo.sln** file from the root directory. - -4. In Visual Studio Build menu, select **Build Solution** (or Press F6). - -5. In the **App.config** file, located in the project root, find the **TicketReservations** app setting and edit the connectionString if needed. Currently it is configured to connect to the local default SQL Server Instance using Integrated Security. - -6. Publish the TicketReservations Database - - Right click on the TicketReservations SQL Server Database Project and Select **Publish** - - Click Edit... to choose your connection string - - Click Publish - - Note: For publishing to Azure SQL you need to change the DB project target platform to **Microsoft Azure SQL Database V12** - -7. You can now run and debug the application locally by pressing **F5** in Visual Studio. - -8. Start the workload with the **Start** button, and run for a while to show perf profile. Then press stop to stop the workload. - -9. In the database project, - - Change TicketReservations.sql to a memory-optimized table (instructions commented in the file itself) - - Change InsertTicketReservations.sql to natively compiled (instructions in the same file) - -10. Publish the database project to the same database – the tool will take care of making the necessary changes. - Note that, as part of publication, the data is copied from the old disk-based table to the new memory-optimized table, so the longer you run the initial workload, the longer this publication takes. - -11. Go back to the app and run the workload again. No need to recompile or restart the application. - -The perf gains from In-Memory OLTP as shown by the load generation app depend on two factors: -- Hardware - - more cores => higher perf gain - - slower log IO => lower perf gain -- Configuration settings in the load generator - - more rows per transaction => higher perf gain - - more reads per write => lower perf gain - - default setting is 10 rows per transaction and 1 read per write - -With default settings on one machine with 24 logical cores and relatively slow SSD for the log the app shows around performance 40X gain, and in this case the bottleneck was log IO. - - -## About the code -The code included in this sample is not intended to be a set of best practices on how to build scalable enterprise grade web applications. This is beyond the scope of this quick start sample. - -## More information -- [In-Memory OLTP (In-Memory Optimization)] (https://msdn.microsoft.com/en-us/library/dn133186.aspx) -- [OLTP and database management] (https://www.microsoft.com/en-us/server-cloud/solutions/oltp-database-management.aspx) +For information about the new features in SQL Server 2016, see [What's New in Master Data Services (MDS)] (https://msdn.microsoft.com/en-us/library/ff929136.aspx). diff --git a/samples/r-services/README.md b/samples/r-services/README.md index 9671dc6e..bb8dc0e2 100644 --- a/samples/r-services/README.md +++ b/samples/r-services/README.md @@ -1,56 +1,3 @@ -# Ticket Reservations Sample +# R Services -Ticket Reservations is a Windows Forms sample application built on .NET Framework 4.6 that demonstrates the performance benefits of using SQL Server memory optimized tables and native compiled stored procedures. You can compare the performance before and after enabling In-Memory OLTP by observing the transactions/sec as well as the current CPU Usage and latches/sec. - -![Alt text](Screenshots/1.png "Ticket Reservations") - -## Running this sample -1. Before you can run this sample, you must have the following perquisites: - - SQL Server 2016 CTP3 (or higher) - - Visual Studio 2015 (or higher) with the latest SSDT installed. - -2. Clone this repository using Git for Windows (http://www.git-scm.com/), or download the zip file. - -3. From Visual Studio, open the **InMemoryOLTPDemo.sln** file from the root directory. - -4. In Visual Studio Build menu, select **Build Solution** (or Press F6). - -5. In the **App.config** file, located in the project root, find the **TicketReservations** app setting and edit the connectionString if needed. Currently it is configured to connect to the local default SQL Server Instance using Integrated Security. - -6. Publish the TicketReservations Database - - Right click on the TicketReservations SQL Server Database Project and Select **Publish** - - Click Edit... to choose your connection string - - Click Publish - - Note: For publishing to Azure SQL you need to change the DB project target platform to **Microsoft Azure SQL Database V12** - -7. You can now run and debug the application locally by pressing **F5** in Visual Studio. - -8. Start the workload with the **Start** button, and run for a while to show perf profile. Then press stop to stop the workload. - -9. In the database project, - - Change TicketReservations.sql to a memory-optimized table (instructions commented in the file itself) - - Change InsertTicketReservations.sql to natively compiled (instructions in the same file) - -10. Publish the database project to the same database – the tool will take care of making the necessary changes. - Note that, as part of publication, the data is copied from the old disk-based table to the new memory-optimized table, so the longer you run the initial workload, the longer this publication takes. - -11. Go back to the app and run the workload again. No need to recompile or restart the application. - -The perf gains from In-Memory OLTP as shown by the load generation app depend on two factors: -- Hardware - - more cores => higher perf gain - - slower log IO => lower perf gain -- Configuration settings in the load generator - - more rows per transaction => higher perf gain - - more reads per write => lower perf gain - - default setting is 10 rows per transaction and 1 read per write - -With default settings on one machine with 24 logical cores and relatively slow SSD for the log the app shows around performance 40X gain, and in this case the bottleneck was log IO. - - -## About the code -The code included in this sample is not intended to be a set of best practices on how to build scalable enterprise grade web applications. This is beyond the scope of this quick start sample. - -## More information -- [In-Memory OLTP (In-Memory Optimization)] (https://msdn.microsoft.com/en-us/library/dn133186.aspx) -- [OLTP and database management] (https://www.microsoft.com/en-us/server-cloud/solutions/oltp-database-management.aspx) +[SQL Server 2016 R Services] (http://blogs.microsoft.com/firehose/tag/sql-server-2016-r-services/)