Enzo Framework Developer Guide
|
|
- Malcolm Bailey
- 5 years ago
- Views:
Transcription
1 Enzo Framework Developer Guide This document provides technical information about the Enzo Framework for developers and architects. Blue Syntax Consulting specializes in the Microsoft Azure platform and provides architectural and development guidance to corporations leveraging cloud computing technologies. Created by Blue Syntax Consulting Published on 12/16/2010 Version Copyright (C) Blue Syntax Consulting Page 1
2 Contents Introduction... 3 Pre-Requisites... 3 Planning for Scalability... 3 Implementing a Linear Shard... 5 Tracking Temperatures... 5 How to Add Servers... 5 How to Create a Shard Cluster... 6 How to Create a Shard... 6 How to Add Databases... 7 Physical Configuration... 9 TEMP_DB1_ TEMP_DB2_ A Note about Referential Integrity Code Sample Implementing an Expanded Shard Overview Changing Data Configuration Code Sample Implementing a Compressed Shards Overview Security Performance Configuration Sample Code Summary About Blue Syntax Consulting Copyright (C) Blue Syntax Consulting Page 2
3 Introduction This document provides technical details on how to implement a scale out application using the Enzo Multitenant Framework. It covers high-level information explaining the various scalability models and how to configure and code against the framework to achieve the desired level of performance and scalability. Pre-Requisites The framework requires.net 4.0 and relies on SQL Azure and/or SQL Server depending on the features implemented. In addition you will need the Enzo Framework API to execute your SQL code against the underlying database model. Planning for Scalability The framework allows you to implement various scalability models, and to change the scalability model over time under most conditions. The following scalability options are supported by the Enzo framework: Scale Up Compressed Scale Out (or Compressed Shard) Linear Scale Out (or Linear Shard) Expanded Scale Out (or Expanded Shard) Although the scale up model is trivial to implement and does not require the Enzo framework per say, using the guidelines provided in this document will allow you to more easily switch to another model over time, as your application needs change. In fact, the application code does not change depending on the scalability model under most circumstances; what changes is the underlying physical configuration of the Enzo framework in the management interface. The code, if implemented correctly, should not know which scalability model is being implemented. This provides maximum application reconfiguration flexibility. Application Code Data Access Layer Application Code Data Access Layer Enzo Framework API Configuration DB DB1 DB2 DB3 DB4 Figure 1 - Enzo Framework API Model Figure 1 shows the typical difference between an application that connects to a single database using a Data Access Layer and another application that uses the Enzo Framework API. The code continues to Copyright (C) Blue Syntax Consulting Page 3
4 access the same Data Access Layer and requires very few changes in most cases. The Data Access Layer is modified to use the Enzo Framework API instead of ASP.NET or Linq to SQL and is able to make database requests across one or more databases. Once implemented, the actual physical deployment model of the databases becomes irrelevant to the Data Access Layer. Databases could be installed in SQL Azure, or moved to local SQL Server databases without any changes to application code. The Enzo Framework API depends on a configuration database; the Enzo Configuration database. When creating databases in SQL Azure or SQL Server to support the application needs, these databases must be added to the framework configuration. Once added to the Enzo Configuration database, it usually needs to be assigned one or more attributes that represents the type of data it stores. While not required, the attributes assigned to a database represent meta-data that will be used in your application code (usually in the Data Access Layer). Shards can also have attributes so they, too, can be referenced from your application code. This allows flexible data separation for certain applications. We will review this later in this document. Attributes assigned to shards and databases allow your code to define a context in which a SQL statement needs to run. Depending in the values of those attributes, a SQL statement can be executed against 0, 1 or more databases in parallel. Parallel execution is automatic and can be controlled by the management interface. An attribute is a string that is added in the management interface and assigned a value, a range of values, a date range or a regular expression. At runtime, when your code selects databases (or shards) by attribute, the value provided is checked against the select shard(s). The application databases are referred to as the physical model layer while the Enzo Framework API is referred to as the logical model layer. How you implement the physical layer impacts your scalability choices and performance characteristics. When configuring your databases, you must choose how many databases need to be deployed, and how to configure the attributes to make the databases available to your code. Copyright (C) Blue Syntax Consulting Page 4
5 Implementing a Linear Shard Before diving into the specifics of the application code, let's look at the logical implementation of your databases and let's make certain design decisions which will be used later in code samples. Tracking Temperatures Let's assume you are tracking worldwide temperatures by city and you would like to define a scalability model based on two attributes: Country and Year. Initially you are tracking two countries: the United States of America and Canada, and for the moment you are only tracking temperatures for You could have chosen the City as your attribute; that would also work; however it is up to you to define which level of scalability and performance you are looking for. As you can see, defining your attributes impacts the number of databases you will need to create. So Country and Year are defined as logical attributes and City will be kept in the database as a primary key. You will then need two databases. Let's name them arbitrarily TEMP_DB1_2010 and TEMP_DB2_2010. They belong to a shard we call ShardTemp and the shard itself belongs to a shard cluster called WorldTemp. Shard Cluster Shard Database Attribute Value WorldTemp ShardTemp TEMP_DB1_2010 Country US Year 2010 WorldTemp ShardTemp TEMP_DB2_2010 Country Canada Year 2010 This model allows you to easily scale over time and not worry too much about how many countries you will be tracking in three years from now. How to Add Servers At this point you will need to login to the Enzo Multitenant Management Studio. You can find the management portal at Before you can add clusters and shards, you will need to define at least one server. A server is a database server on which databases can be found. To add a server, select Environment Configuration -> Servers. Enter the details of the server and click on Add Server. The User ID and Password need to have sufficient rights to create databases. The server should be the fully qualified name of the database server on which databases are found. Choose Default as the Server Pool. Copyright (C) Blue Syntax Consulting Page 5
6 Note that you can add database servers from your local network. So a server name could be YOURDOMAIN\SVRNAME. Always specify the port (by default the listening port is 1433). How to Create a Shard Cluster To create a new Cluster called WorldTemp, follow these steps: Select Environment Configuration -> Clusters and Shards Type the name of the cluster, a description, and click Add Cluster A new Shard Cluster will be added to the list of clusters Figure 2 - Adding a Shard Cluster A shard cluster is an entry point for the Enzo Framework API. The API cannot query across shard clusters. So this provides a form of isolation for your application code. You could for example create a shard cluster for Development, Test and Production environments. How to Create a Shard Select the newly created cluster from the left menu (you may need to refresh the page). You will notice a screen with an area allowing you to create a new shard. Enter the name of the shard and click on Add Shard. Copyright (C) Blue Syntax Consulting Page 6
7 Figure 3 - Adding a Shard Next to the shard name you will find four links: Edit, Delete, Attributes and Default. Edit: Allows you to modify the name of the shard Delete: Deletes the shard from the configuration database; does not drop the databases Deleting a shard usually prevents the underlying databases from being accessible from your application code Attributes: View and Modify the list of attributes for this shard Default: Make this shard the Default shard Making a shard the default provides a programmatic shortcut After creating the shard, you will notice that it will appear under the WorldTemp cluster on the left menu. Click on the Default icon; this will make the shard easier to select in application code. If we had additional shards we would need to create attributes so that the correct shard could be selected by your code. How to Add Databases Click on the ShardTemp item on the left menu. You will notice a screen with the ability to add databases. Adding a database on this screen does not physically create a database; instead it adds a definition that points to a database. The database does not need to exist at the time it is being added. Specify the name of the database and a User ID and Password. A shard can be made of databases stored of different servers. Copyright (C) Blue Syntax Consulting Page 7
8 Figure 4 - Add a Database Definition After adding both databases your screen should look like the one in Figure 5. Note that none of the databases below are marked as the Default database. Marking a database the Default could be useful to simplify your code if a database would serve as the primary data store of your application. Having a default database allows your code to select a database without specifying attributes. In our case however, we will be using the attributes to select the correct database. Figure 5 - Databases Created Once the databases have been created we need to add attributes to each database. Click on the Attribute icon in front of DB1. Figure 6 shows the screen that allows you to add database attributes. Add the Country and Year attributes to both DB1 and DB2. You can switch database using the dropdown box. Once you are done, click on the 'back to ShardTemp' link. Figure 7 shows the attributes defined for DB1. Both attributes are defined as a Single Value (a string). Copyright (C) Blue Syntax Consulting Page 8
9 Figure 6 - Add a Database Attribute Figure 7 - DB1 Attributes At this point you have created a server, a shard cluster, a shard, two database references and two attributes on each database. In addition the shard ShardTemp is marked as the default shard. You are now ready to create the physical databases. Physical Configuration You now need to create the databases on the actual SQL Azure servers. Using the SQL Azure console (sql.azure.com) or SQL Server Management Studio, create two databases TEMP_DB1_2010 and TEMP_DB2_2010. Once the databases have been created, run the following statements: TEMP_DB1_2010 Open a query window in SQL Server Management Studio and paste the following T-SQL to create the tables and temperatures for 2010 for the US cities: CREATE TABLE Country (id int identity(1,1) primary key, name nvarchar(50)) CREATE TABLE City(id int identity(1,1) primary key, name nvarchar(50), countryid int not null) CREATE TABLE Temp (id int identity(1,1) primary key, value decimal, monthtaken nvarchar(3), measure char(1) not null, countryid int not null, cityid int not null) INSERT INTO country values ('US') INSERT INTO country values ('Canada') INSERT INTO City Values ('New York', 1) INSERT INTO City Values ('San Francisco', 1) INSERT INTO City Values ('Chicago', 1) INSERT INTO City Values ('Vancouver', 2) INSERT INTO City Values ('Quebec', 2) -- US Copyright (C) Blue Syntax Consulting Page 9
10 INSERT INTO Temp VALUES (29.3, 'Jan', 'F', 2, 3) INSERT INTO Temp VALUES (33.6, 'Feb', 'F', 2, 3) INSERT INTO Temp VALUES (45.1, 'Mar', 'F', 2, 3) INSERT INTO Temp VALUES (58.5, 'Apr', 'F', 2, 3) INSERT INTO Temp VALUES (70.2, 'May', 'F', 2, 3) INSERT INTO Temp VALUES (79.3, 'Jun', 'F', 2, 3) INSERT INTO Temp VALUES (83.5, 'Jul', 'F', 2, 3) INSERT INTO Temp VALUES (82.0, 'Aug', 'F', 2, 3) INSERT INTO Temp VALUES (74.7, 'Sep', 'F', 2, 3) INSERT INTO Temp VALUES (63.0, 'Oct', 'F', 2, 3) INSERT INTO Temp VALUES (47.8, 'Nov', 'F', 2, 3) INSERT INTO Temp VALUES (34.3, 'Dec', 'F', 2, 3) INSERT INTO Temp VALUES (56.3, 'Jan', 'F', 2, 2) INSERT INTO Temp VALUES (59.5, 'Feb', 'F', 2, 2) INSERT INTO Temp VALUES (60.8, 'Mar', 'F', 2, 2) INSERT INTO Temp VALUES (63.7, 'Apr', 'F', 2, 2) INSERT INTO Temp VALUES (66.2, 'May', 'F', 2, 2) INSERT INTO Temp VALUES (68.9, 'Jun', 'F', 2, 2) INSERT INTO Temp VALUES (70.0, 'Jul', 'F', 2, 2) INSERT INTO Temp VALUES (70.0, 'Aug', 'F', 2, 2) INSERT INTO Temp VALUES (71.6, 'Sep', 'F', 2, 2) INSERT INTO Temp VALUES (69.4, 'Oct', 'F', 2, 2) INSERT INTO Temp VALUES (62.4, 'Nov', 'F', 2, 2) INSERT INTO Temp VALUES (56.5, 'Dec', 'F', 2, 2) INSERT INTO Temp VALUES (35.8, 'Jan', 'F', 2, 1) INSERT INTO Temp VALUES (37.8, 'Feb', 'F', 2, 1) INSERT INTO Temp VALUES (45.9, 'Mar', 'F', 2, 1) INSERT INTO Temp VALUES (57.0, 'Apr', 'F', 2, 1) INSERT INTO Temp VALUES (67.1, 'May', 'F', 2, 1) INSERT INTO Temp VALUES (75.4, 'Jun', 'F', 2, 1) INSERT INTO Temp VALUES (80.8, 'Jul', 'F', 2, 1) INSERT INTO Temp VALUES (80.8, 'Aug', 'F', 2, 1) INSERT INTO Temp VALUES (72.9, 'Sep', 'F', 2, 1) INSERT INTO Temp VALUES (63.3, 'Oct', 'F', 2, 1) INSERT INTO Temp VALUES (52.0, 'Nov', 'F', 2, 1) INSERT INTO Temp VALUES (41.9, 'Dec', 'F', 2, 1) TEMP_DB2_2010 Similarly run the following T-SQL statement for the second database for Canada. CREATE TABLE Country (id int identity(1,1) primary key, name nvarchar(50)) CREATE TABLE City(id int identity(1,1) primary key, name nvarchar(50), countryid int not null) CREATE TABLE Temp (id int identity(1,1) primary key, value decimal, monthtaken nvarchar(3), measure char(1) not null, countryid int not null, cityid int not null) INSERT INTO country values ('US') INSERT INTO country values ('Canada') INSERT INTO City Values ('New York', 1) INSERT INTO City Values ('San Francisco', 1) INSERT INTO City Values ('Chicago', 1) INSERT INTO City Values ('Vancouver', 2) INSERT INTO City Values ('Quebec', 2) INSERT INTO Temp VALUES (18.9, 'Jan', 'F', 2, 5) INSERT INTO Temp VALUES (21.7, 'Feb', 'F', 2, 5) INSERT INTO Temp VALUES (32.2, 'Mar', 'F', 2, 5) INSERT INTO Temp VALUES (46.4, 'Apr', 'F', 2, 5) INSERT INTO Temp VALUES (62.1, 'May', 'F', 2, 5) INSERT INTO Temp VALUES (71.8, 'Jun', 'F', 2, 5) INSERT INTO Temp VALUES (77.0, 'Jul', 'F', 2, 5) INSERT INTO Temp VALUES (74.1, 'Aug', 'F', 2, 5) INSERT INTO Temp VALUES (64.6, 'Sep', 'F', 2, 5) INSERT INTO Temp VALUES (52.3, 'Oct', 'F', 2, 5) INSERT INTO Temp VALUES (37.8, 'Nov', 'F', 2, 5) INSERT INTO Temp VALUES (23.4, 'Dec', 'F', 2, 5) INSERT INTO Temp VALUES (41, 'Jan', 'F', 2, 4) INSERT INTO Temp VALUES (44.1, 'Feb', 'F', 2, 4) INSERT INTO Temp VALUES (49.8, 'Mar', 'F', 2, 4) INSERT INTO Temp VALUES (56.8, 'Apr', 'F', 2, 4) INSERT INTO Temp VALUES (63, 'May', 'F', 2, 4) INSERT INTO Temp VALUES (68.5, 'Jun', 'F', 2, 4) INSERT INTO Temp VALUES (72, 'Jul', 'F', 2, 4) Copyright (C) Blue Syntax Consulting Page 10
11 INSERT INTO Temp VALUES (71.4, 'Aug', 'F', 2, 4) INSERT INTO Temp VALUES (64.9, 'Sep', 'F', 2, 4) INSERT INTO Temp VALUES (57.2, 'Oct', 'F', 2, 4) INSERT INTO Temp VALUES (49.1, 'Nov', 'F', 2, 4) INSERT INTO Temp VALUES (42.6, 'Dec', 'F', 2, 4) A Note about Referential Integrity You may have noticed that the Country and City have the same records in both databases. This is an implementation choice; nothing prevents you from removing the Country table altogether since the database is already assigned to a country attribute of US. However in order to keep the data model flexible for potential future change, and for simpler referential integrity on the application layer, keeping the Country table makes sense in this case. Code Sample The two databases created previously are not directly visible to your application; however the Enzo Framework API knows about the physical databases since it connects to the Enzo Configuration database when the Shard Cluster object is instantiated. You code would simply provide the attribute(s) necessary to inform the Enzo Framework API which database(s) to use. string connectionstring = "Data Source=..."; ShardCluster sc = new ShardCluster(connectionString, "WorldTemp"); // Returns a DataTable with records from all databases in the default shard DataTable dtall = sc.defaultshard.executedatatable("select AVG(value), CityId FROM Temp Group By CityId"); // Returns a DataTable with records from US only Shard.DBExecutionOption dbeo1 = new Shard.DBExecutionOption(); dbeo1.attributes.add("country", "US"); DataTable dtcan = sc.defaultshard.executedatatable("select AVG(value), CityId FROM Temp Group By CityId", dbeo1); // Returns data from 2009 Shard.DBExecutionOption dbeo2 = new Shard.DBExecutionOption(); dbeo2.attributes.add("year", "2009"); DataTable dt2009 = sc.defaultshard.executedatatable("select AVG(value), CityId FROM Temp Group By CityId", dbeo2); If you were to insert records into the underlying databases you would need to specify the correct attribute. For example if you would like to insert a temperature in a US city you would specify the Country attribute of 'US' and send the INSERT statement in a manner similar to the sample code provided above. Copyright (C) Blue Syntax Consulting Page 11
12 Implementing an Expanded Shard Overview An expanded shard implementation offers a different viewpoint on your data. Instead of partitioning your data statically across database using a data domain, such as a Country code, your data becomes loosely coupled with the underlying databases. Each record could theoretically live in any database that makes up the shard. Although your code no longer knows which database holds which data, your underlying database storage can grow independently from your data domains. In other words, you could be tracking 2 countries (US and Canada) across 100 databases. Changing Data It becomes important to use the concept of a database GUID when you intend to update or delete records from an expanded shard. Indeed, the ExecuteDataTable method of the Shard object returns a database GUID for each record returned, indicating from which database a record came from. Updating or deleting the record then requires sending the database GUID back to the Enzo Framework API for processing, which is done using the BSC.EnzoAzureLib.DBLoadOption.Specific enum. Configuration Let's reuse the previous example and transform the model to use an expanded shard. Let's create a third database, TEMP_DB3_2010. Then run the following T-SQL statement which adds temperatures to New York and Quebec in Celsius: CREATE TABLE Country (id int identity(1,1) primary key, name nvarchar(50)) CREATE TABLE City(id int identity(1,1) primary key, name nvarchar(50), countryid int not null) CREATE TABLE Temp (id int identity(1,1) primary key, value decimal, monthtaken nvarchar(3), measure char(1) not null, countryid int not null, cityid int not null) INSERT INTO country values ('US') INSERT INTO country values ('Canada') INSERT INTO City Values ('New York', 1) INSERT INTO City Values ('San Francisco', 1) INSERT INTO City Values ('Chicago', 1) INSERT INTO City Values ('Vancouver', 2) INSERT INTO City Values ('Quebec', 2) INSERT INTO Temp VALUES (2.1, 'Jan', 'C', 2, 1) INSERT INTO Temp VALUES (3.2, 'Feb', 'C', 2, 1) INSERT INTO Temp VALUES (-7.4, 'Jan', 'C', 2, 1) INSERT INTO Temp VALUES (-6.1, 'Feb', 'C', 2, 1) The major difference in this model, as you can see, is that a database is no longer attached to a uniquely identifying set of attributes. This doesn't mean however that there are no attributes defined; the Year attribute could still be used to identify a shard storing 2011 data versus another shard storing 2010 data. To minimize your code changes, you need to keep the attributes that logically separate your records, so that given any attribute value the records returned remain homogeneous. In our example you would keep using the Country attribute, and have 10 databases making up the US and 8 making up Canada for Copyright (C) Blue Syntax Consulting Page 12
13 example. Although the Country/Year attribute combination no longer points to a single database, records are homogeneous given an attribute value. Although we have defined attributes for the first two databases (TEMP_DB1_2010 and TEMP_DB2_2010), we have not yet defined any attributes on TEMP_DB3_2010. At this point you need to add the Country and Year attribute to this newly created database. Let's assign the new database to the Country 'US'. So we now have three databases: Shard Cluster Shard Database Attribute Value WorldTemp ShardTemp TEMP_DB1_2010 Country US Year 2010 WorldTemp ShardTemp TEMP_DB2_2010 Country Canada Year 2010 WorldTemp ShardTemp TEMP_DB3_2010 Country US Year 2010 Code Sample As you can see from the above table there are two tables making up the US country. Selecting data in this model would look like this: string connectionstring = "Data Source=..."; ShardCluster sc = new ShardCluster(connectionString, "WorldTemp"); // Returns a DataTable with records from all databases in the default shard DataTable dtall = sc.defaultshard.executedatatable("select AVG(value), CityId FROM Temp Group By CityId"); // Returns a DataTable with records from US only Shard.DBExecutionOption dbeo1 = new Shard.DBExecutionOption(); dbeo1.attributes.add("country", "US"); DataTable dtcan = sc.defaultshard.executedatatable("select AVG(value), CityId FROM Temp Group By CityId", dbeo1); // Returns data from 2009 Shard.DBExecutionOption dbeo2 = new Shard.DBExecutionOption(); dbeo2.attributes.add("year", "2009"); DataTable dt2009 = sc.defaultshard.executedatatable("select AVG(value), CityId FROM Temp Group By CityId", dbeo2); Although the physical implementation has changed, nothing has changed at the application level. Retrieving data for the US remains the same. Behind the scenes the Enzo Framework API detects that the Country attribute with a value of US is actually assigned to two databases, and thus executes the statement against both databases transparently. Inserting data in an expanded shard should be done in a manner that attempts to evenly distribute records when they are added, so that each database given a Country has a good probability of an equal number of records. The Enzo Framework API offers a method to load records in parallel in a round-robin manner. Shard.DBExecutionOption dbeo1 = new Shard.DBExecutionOption(); dbeo1.attributes.add("country", "US"); List<string> sqls = new List<string>(); sqls.add("insert INTO Temp VALUES (32.2, 'Mar', 'F', 2, 5)"); sqls.add("insert INTO Temp VALUES (32.0, 'Feb', 'F', 2, 5)"); sqls.add("insert INTO Temp VALUES (27.1, 'Nov', 'F', 2, 5)"); sqls.add("insert INTO Temp VALUES (33.1, 'Dec', 'F', 2, 5)"); Copyright (C) Blue Syntax Consulting Page 13
14 sc.defaultshard.executeparallelroundrobinload(sqls, dbeo1); The ExecuteParallelRoundRobinLoad executes the INSERT statements in parallel against the pool of databases found under the Default Shard in the sample code above. Each database used to store US temperatures would receive two records in the example above. The expanded shard scalability model provides the most flexibility and opportunity for performance improvements since a shard could host a large number of databases independently, or in conjunction with the data domains applicable to your application. When attributes are used in the Expanded Shard model, they are not meant to refer to a single database (like in the Linear Model); they are used to identify a pool of databases that store related information. Copyright (C) Blue Syntax Consulting Page 14
15 Implementing a Compressed Shards Overview In a compressed shard scenario the design favors a smaller database footprint in an attempt to host multiple customers in the same database while keeping strong data segregation. Compressed Shards leverage database schemas heavily; each customer is assigned its own database schema although it may be co-located with other customers in the same database. In addition to leveraging schemas, this scalability model leverages the default schema property of a login. This feature of SQL Server and SQL Azure automatically set the correct schema context of users when executing SQL statements. For example, if Usr1 is assigned schema1 as it default schema, a call to "SELECT * FROM USERS" will automatically be executed under schema1, which is equivalent to "SELECT * FROM schema1.users". Because Usr1 is mapped to schema1, resolving the context to schema1 is automatic. The default schema mapping allows database code to be written without schema-specific information, letting the application resolve the schema context when the login takes place. This also means that your application should not depend on multiple schemas to drive specific features. Security From a security standpoint, you need to ensure that each Login is only allowed to logon to the correct database and the associated user is given rights to the schema it needs access to. This ensures that customer databases assigned to a specific schema are not available to other Logins and database users. Performance You should note that while this scalability model minimizes the use of databases, which itself reduces the overall cost of deployment, some databases are sharing the same underlying server resources (memory, disk, locks...). As a result your application code may be hitting certain thresholds sooner, such as the number of concurrent connections to a SQL Azure database. In fact, carefully monitoring connection pooling in this scalability model becomes absolutely critical for general database availability. Configuration Let's take our previous example and store all the databases in the same database, under a specific schema as shown below. Note the different from previous tables, where the schema is used to resolve the context of a database. Login1 (which maps to database user Usr1) is configured to use the USA schema automatically, while Login2 (which maps to database Usr2) will use the CAN schema by default. Shard Cluster Shard Database.Schema Login/User Attribute Value WorldTemp ShardTemp TEMP_DB1_2010.USA Login1/Usr1 Country US Year 2010 WorldTemp ShardTemp TEMP_DB1_2010.CAN Login2/Usr2 Country Canada Year 2010 Copyright (C) Blue Syntax Consulting Page 15
16 To implement the compressed shard you will need to take the following configuration steps. Create one database called TEMP_DB1_2010 o if you created it previously, drop it and recreate it Create two schemas: USA and CAN o Run these two statements on the newly created database CREATE SCHEMA USA CREATE SCHEMA CAN Create two logins on the master database CREATE LOGIN Login1 WITH PASSWORD = 'strongpasswordgoeshere' CREATE LOGIN Login2 WITH PASSWORD = 'strongpasswordgoeshere' Create database users mapped to these logins on the TEMP_DB1_2010 database CREATE USER Usr1 FOR LOGIN Login1 CREATE USER Usr2 FOR LOGIN Login2 Grant access to users' respective schemas o Granting access rights to users on schemas is the basis of compressed shard security GRANT SELECT, INSERT,DELETE, UPDATE ON SCHEMA ::USA TO usr1 GRANT SELECT, INSERT,DELETE, UPDATE ON SCHEMA ::CAN TO usr2 Change the default schemas of both users in the TEMP_DB1_2010 database ALTER USER usr1 DEFAULT_SCHEMA = USA ALTER USER usr2 DEFAULT_SCHEMA = CAN Run the following statements to create objects in both schemas o The beginning of each script is shown below. Note the schema used in front of objects. This is only used during the creation of those objects. Script1 CREATE TABLE USA.Country (id int identity(1,1) primary key, name nvarchar(50)) CREATE TABLE USA.City(id int identity(1,1) primary key, name nvarchar(50), countryid int not null) CREATE TABLE USA.Temp (id int identity(1,1) primary key, value decimal, monthtaken nvarchar(3), measure char(1) not null, countryid int not null, cityid int not null) INSERT INTO USA.country values ('US') INSERT INTO USA.country values ('Canada') INSERT INTO USA.City Values ('New York', 1) INSERT INTO USA.City Values ('San Francisco', 1) INSERT INTO USA.City Values ('Chicago', 1) INSERT INTO USA.City Values ('Vancouver', 2) INSERT INTO USA.City Values ('Quebec', 2) INSERT INTO USA.Temp VALUES (29.3, 'Jan', 'F', 2, 3) INSERT INTO USA.Temp VALUES (33.6, 'Feb', 'F', 2, 3) Script2 CREATE TABLE CAN.Country (id int identity(1,1) primary key, name nvarchar(50)) CREATE TABLE CAN.City(id int identity(1,1) primary key, name nvarchar(50), countryid int not null) CREATE TABLE CAN.Temp (id int identity(1,1) primary key, value decimal, monthtaken nvarchar(3), measure char(1) not null, countryid int not null, cityid int not null) INSERT INTO CAN.country values ('US') INSERT INTO CAN.country values ('Canada') INSERT INTO CAN.City Values ('New York', 1) INSERT INTO CAN.City Values ('San Francisco', 1) INSERT INTO CAN.City Values ('Chicago', 1) Copyright (C) Blue Syntax Consulting Page 16
17 INSERT INTO CAN.City Values ('Vancouver', 2) INSERT INTO CAN.City Values ('Quebec', 2) INSERT INTO CAN.Temp VALUES (18.9, 'Jan', 'F', 2, 5) INSERT INTO CAN.Temp VALUES (21.7, 'Feb', 'F', 2, 5) Change the Shard configuration in the Enzo Multitenant Framework Studio o The logical configuration does not have to change much; you do need however to change the Login/Password and the Database Name specified for each connection. Sample Code Now that the physical configuration is completed, let's take a look at the code we have previously analyzed to see what needs to change. string connectionstring = "Data Source=..."; ShardCluster sc = new ShardCluster(connectionString, "WorldTemp"); // Returns a DataTable with records from all databases in the default shard DataTable dtall = sc.defaultshard.executedatatable("select AVG(value), CityId FROM Temp Group By CityId"); // Returns a DataTable with records from US only Shard.DBExecutionOption dbeo1 = new Shard.DBExecutionOption(); dbeo1.attributes.add("country", "US"); DataTable dtcan = sc.defaultshard.executedatatable("select AVG(value), CityId FROM Temp Group By CityId", dbeo1); // Returns data from 2009 Shard.DBExecutionOption dbeo2 = new Shard.DBExecutionOption(); dbeo2.attributes.add("year", "2009"); DataTable dt2009 = sc.defaultshard.executedatatable("select AVG(value), CityId FROM Temp Group By CityId", dbeo2); Once again, the code has not changed. Selecting data from your application remains identical. Furthermore there is no need to change the SQL statements to point to a specific schema; this is done automatically based on the user assigned to a specific database. Even the first SQL statement pulling records from multiple databases will be executed with the correct schema context. Copyright (C) Blue Syntax Consulting Page 17
18 Summary This document introduced you to the various configuration modes available for scalability along with instructions on how to configure the physical and logical layers of yours shards. The following table shows you important considerations based on the scalability model chosen. You can see that inserting, deleting and updating data could be impacted depending on the scalability model chosen. For the most part however, selecting data is not affected unless the property attributes or values change themselves. Linear Shard Expanded Shard Compressed Shard Each data domain has its own dedicated database is mapped to one or more databases has its own schema in a co-located database Unique attributes map to one database one or more databases one login/user Insert records using ExecuteNonQuery ExecuteParallelRoundRobin ExecuteNonQuery Update / Delete with attribute values database GUID attribute values Choosing the correct scalability is a combination of both business and technical objectives that requires careful evaluation. However, if business of technical objectives change over time, the level of abstraction provided by the Enzo API Framework can help minimize code changes if the scalability model changes over time. Copyright (C) Blue Syntax Consulting Page 18
19 About Blue Syntax Consulting Blue Syntax Consulting provides high value-added services to customers by offering high level executive guidance on how to best leverage Cloud Computing technologies with the Microsoft Azure platform and low-level implementation services, including architecture guidance, development and testing. Blue Syntax Consulting develops leading edge technologies allowing corporations to adopt cloud computing sooner, including the Enzo Multitenant Framework and other solutions. For more information, visit or contact Copyright (C) Blue Syntax Consulting Page 19
Enzo Framework API Reference Guide
Enzo Framework API Reference Guide This document provides a programmatic reference guide for the Enzo Framework API. BETA DOCUMENTATION Blue Syntax Consulting specializes in the Microsoft Azure platform
More informationAzure Scalability Prescriptive Architecture using the Enzo Multitenant Framework
Azure Scalability Prescriptive Architecture using the Enzo Multitenant Framework Many corporations and Independent Software Vendors considering cloud computing adoption face a similar challenge: how should
More informationSAS Scalable Performance Data Server 4.3
Scalability Solution for SAS Dynamic Cluster Tables A SAS White Paper Table of Contents Introduction...1 Cluster Tables... 1 Dynamic Cluster Table Loading Benefits... 2 Commands for Creating and Undoing
More informationAsks for clarification of whether a GOP must communicate to a TOP that a generator is in manual mode (no AVR) during start up or shut down.
# Name Duration 1 Project 2011-INT-02 Interpretation of VAR-002 for Constellation Power Gen 185 days Jan Feb Mar Apr May Jun Jul Aug Sep O 2012 2 Start Date for this Plan 0 days 3 A - ASSEMBLE SDT 6 days
More informationMicrosoft Technical Training Public Class Schedules Year 2019
Microsoft Technical Training View Class Schedules by Categories Below 1. Windows Server 2016 2. Windows Server 2012 3. Azure Windows 10 Skype for Business 2015 Power BI 4. SQL Server 5. Exchange Server
More informationPaper SAS Managing Large Data with SAS Dynamic Cluster Table Transactions Guy Simpson, SAS Institute Inc., Cary, NC
Paper SAS255-2014 Managing Large Data with SAS Dynamic Cluster Table Transactions Guy Simpson, SAS Institute Inc., Cary, NC ABSTRACT Today's business needs require 24/7 access to your data in order to
More informationCOURSE LISTING. Courses Listed. Training for Database & Technology with Modeling in SAP HANA. 20 November 2017 (12:10 GMT) Beginner.
Training for Database & Technology with Modeling in SAP HANA Courses Listed Beginner HA100 - SAP HANA Introduction Advanced HA300 - SAP HANA Certification Exam C_HANAIMP_13 - SAP Certified Application
More informationAPI Gateway Version September Key Property Store User Guide
API Gateway Version 7.5.2 15 September 2017 Key Property Store User Guide Copyright 2017 Axway All rights reserved. This documentation describes the following Axway software: Axway API Gateway 7.5.2 No
More informationExcel Functions & Tables
Excel Functions & Tables SPRING 2016 Spring 2016 CS130 - EXCEL FUNCTIONS & TABLES 1 Review of Functions Quick Mathematics Review As it turns out, some of the most important mathematics for this course
More informationACTIVE MICROSOFT CERTIFICATIONS:
Last Activity Recorded : February 14, 2014 Microsoft Certification ID : 2997927 CHRISTIAN GYSSELS CAIXA POSTAL 22.033 FLORIANOPOLIS, Santa Catarina 88095-971 BR gyssels@dekeract.com *Charter- Certification
More informationData Warehousing & Big Data at OpenWorld for your smartphone
Data Warehousing & Big Data at OpenWorld for your smartphone Smartphone and tablet apps, helping you get the most from this year s OpenWorld Access to all the most important information Presenter profiles
More informationCOURSE LISTING. Courses Listed. with SAP Hybris Marketing Cloud. 24 January 2018 (23:53 GMT) HY760 - SAP Hybris Marketing Cloud
with SAP Hybris Marketing Cloud Courses Listed HY760 - SAP Hybris Marketing Cloud C_HYMC_1702 - SAP Certified Technology Associate - SAP Hybris Marketing Cloud (1702) Implementation Page 1 of 12 All available
More informationsoftware.sci.utah.edu (Select Visitors)
software.sci.utah.edu (Select Visitors) Web Log Analysis Yearly Report 2002 Report Range: 02/01/2002 00:00:0-12/31/2002 23:59:59 www.webtrends.com Table of Contents Top Visitors...3 Top Visitors Over Time...5
More informationSQL Azure. Abhay Parekh Microsoft Corporation
SQL Azure By Abhay Parekh Microsoft Corporation Leverage this Presented by : - Abhay S. Parekh MSP & MSP Voice Program Representative, Microsoft Corporation. Before i begin Demo Let s understand SQL Azure
More informationDeploying the ClientDashboard Web Site
Deploying the ClientDashboard Web Site June 2013 Contents Introduction... 2 Installing and configuring IIS... 2 Software installations... 2 Opening a firewall port... 2 Adding the SCSWebDashboard Web site...
More informationThis report is based on sampled data. Jun 1 Jul 6 Aug 10 Sep 14 Oct 19 Nov 23 Dec 28 Feb 1 Mar 8 Apr 12 May 17 Ju
0 - Total Traffic Content View Query This report is based on sampled data. Jun 1, 2009 - Jun 25, 2010 Comparing to: Site 300 Unique Pageviews 300 150 150 0 0 Jun 1 Jul 6 Aug 10 Sep 14 Oct 19 Nov 23 Dec
More informationCOURSE LISTING. Courses Listed. Training for Cloud with SAP Cloud Platform in Development. 23 November 2017 (08:12 GMT) Beginner.
Training for Cloud with SAP Cloud Platform in Development Courses Listed Beginner CLD100 - Cloud for SAP Intermediate CP100 - SAP Cloud Platform Certification Exam C_CP_11 - SAP Certified Development Associate
More informationCOURSE LISTING. Courses Listed. Training for Database & Technology with Development in SAP Cloud Platform. 1 December 2017 (22:41 GMT) Beginner
Training for Database & Technology with Development in SAP Cloud Platform Courses Listed Beginner CLD100 - Cloud for SAP Intermediate CP100 - SAP Cloud Platform Certification Exam C_CP_11 - SAP Certified
More informationACTIVE MICROSOFT CERTIFICATIONS:
Last Activity Recorded : August 03, 2017 Microsoft Certification ID : 2069071 JESSE WIMBERLEY 5421 33RD CT SE LACEY, Washington 98503 US jesse.wimberley@gmail.com ACTIVE MICROSOFT CERTIFICATIONS: Microsoft
More informationCOURSE LISTING. Courses Listed. with SAP HANA. 15 February 2018 (05:18 GMT) HA100 - SAP HANA. HA250 - Migration to SAP HANA using DMO
with SAP HANA COURSE LISTING Courses Listed HA100 - SAP HANA HA240 -, SAP HANA HA250 - Migration to SAP HANA using DMO C_HANATEC_13 - SAP Certified Technology Associate - SAP HANA 2.0 HA200 - SAP HANA
More informationTX DWA Contents RELEASE DOCUMENTATION
TX DWA 16.7 RELEASE DOCUMENTATION Contents Introduction... 2 New Features... 2 Differential Deployment... 3 Deployment Status Report... 3 Managed Deployment... 4 Data Export... 4 Dynamic Project Variables...
More informationUpdate Table Schema Sql Server 2008 Add Column After
Update Table Schema Sql Server 2008 Add Column After ALTER COLUMN ENCRYPTION KEY (Transact-SQL) Applies to: SQL Server (SQL Server 2008 through current version), Azure SQL Database, the owner will remain
More informationSF Current Cumulative PTF Package. I B M i P R E V E N T I V E S E R V I C E P L A N N I N G I N F O R M A T I O N
SF98710 Current Cumulative PTF Package I B M i P R E V E N T I V E S E R V I C E P L A N N I N G I N F O R M A T I O N Copyright IBM Corporation 1993, 2017 - The information in this document was last updated:
More informationCOURSE LISTING. Courses Listed. Training for Database & Technology with Modeling in SAP HANA. Last updated on: 30 Nov 2018.
Training for Database & Technology with Modeling in SAP HANA Courses Listed Einsteiger HA100 - SAP HANA Introduction Fortgeschrittene HA300 - SAP HANA 2.0 SPS03 Modeling HA301 - SAP HANA 2.0 SPS02 Advanced
More informationjamf Nation - London Roadshow
jamf Nation - London Roadshow Sachin Parmar Workplace Technology Manager 17 May 2018 About Just Eat Our vision Creating the world s greatest food community 3 About Me About Me Sachin Parmar 8+ years professionally
More informationLAB: Replicating SharePoint Online List to SQL Server
Get things done. LAB: Replicating SharePoint Online List to SQL Server Copy data from a SharePoint Online list to a SQL Server database in the cloud, and keep the database in sync automatically when data
More informationSection 1.2: What is a Function? y = 4x
Section 1.2: What is a Function? y = 4x y is the dependent variable because it depends on what x is. x is the independent variable because any value can be chosen to replace x. Domain: a set of values
More information3. EXCEL FORMULAS & TABLES
Winter 2019 CS130 - Excel Formulas & Tables 1 3. EXCEL FORMULAS & TABLES Winter 2019 Winter 2019 CS130 - Excel Formulas & Tables 2 Cell References Absolute reference - refer to cells by their fixed position.
More informationSF Current Cumulative PTF Package. I B M i P R E V E N T I V E S E R V I C E P L A N N I N G I N F O R M A T I O N
SF98730 Current Cumulative PTF Package I B M i P R E V E N T I V E S E R V I C E P L A N N I N G I N F O R M A T I O N Copyright IBM Corporation 1993, 2018 - The information in this document was last updated:
More informationOptimizing Field Operations. Jeff Shaner
Optimizing Field Operations Jeff Shaner Field GIS Taking GIS Beyond the Office Collecting Data Reporting Observations Managing Work Connecting the Field with the Enterprise Workforce for ArcGIS Field workforce
More informationFREQUENTLY ASKED QUESTIONS
DISTRICT 7030 WEBSITE FREQUENTLY ASKED QUESTIONS NB: THIS WILL BE REGULARLY UPDATED FOR YOUR INFORMATION. 1. This website works better with the following browsers: Internet Explorer (IE) and Google Chrome.
More informationMicroMVL Release History. Note: Changes in black mean new features or capabilities and red changes mean corrections from previous versions.
MicroMVL Release History Note: Changes in black mean new features or capabilities and red changes mean corrections from previous versions. Version Release Date Changes 2.23 18-May-2018 Fixed Audit Trail
More informationGetting the Enterprise Ready for Digital Disruption Presented By: George Thadathil
Getting the Enterprise Ready for Digital Disruption Presented By: George Thadathil Sep 5, 2018 Equinix connects the world's leading businesses to their customers, employees and partners inside the world's
More informationSQL Server. Management Studio. Chapter 3. In This Chapter. Management Studio. c Introduction to SQL Server
Chapter 3 SQL Server Management Studio In This Chapter c Introduction to SQL Server Management Studio c Using SQL Server Management Studio with the Database Engine c Authoring Activities Using SQL Server
More informationData Types. 9. Types. a collection of values and the definition of one or more operations that can be performed on those values
Data Types 1 data type: a collection of values and the definition of one or more operations that can be performed on those values C++ includes a variety of built-in or base data types: short, int, long,
More informationScaling on one node Hybrid engines with Multi-GPU on In-Memory database queries
Scaling on one node Hybrid engines with Multi-GPU on In-Memory database queries S23294 - Peter Strohm - Jedox AG GPU Technology Conference Europe 2017 Peter Strohm - @psjedox - #JedoxGTC17 1 Jedox GPU
More informationDeveloping SQL Databases (762)
Developing SQL Databases (762) Design and implement database objects Design and implement a relational database schema Design tables and schemas based on business requirements, improve the design of tables
More informationMaximo 76 Cognos Dimensions
IBM Tivoli Software Maximo Asset Management Version 7.6 Releases Maximo 76 Cognos Dimensions Application Example Pam Denny Maximo Report Designer/Architect CONTENTS Revision History... iii 1 Overview...
More informationCOURSE LISTING. Courses Listed. with ABAP Dialog Programming. 25 December 2017 (08:57 GMT) NW001 - SAP NetWeaver - Overview
with ABAP Dialog Programming Courses Listed NW001 - SAP NetWeaver - Overview SAPTEC - SAP NetWeaver Application Server Fundamentals BC100 - ( ABAP) BC100E - Introduction to Programming with ABAP BC400
More informationThe Speaker. Alain Fuhrer, born in Bachelor in computer science. Working with Oracle databases for about 12 years now
The Speaker Alain Fuhrer, born in 1986 Bachelor in computer science Working with Oracle databases for about 12 years now Head IT Databases at Swiss Mobiliar Insurance REPORTS ANALYTICS AUF ON OLTP DATEN
More informationBring Your Language (and libraries) to Your Data
Bring Your Language (and libraries) to Your Data Stefan Mandl, Oleksandr Kozachuk, Jens Graupmann 2016 EXASOL AG What is EXASOL? a column store, massively parallel processing (MPP), in-memory analytic
More informationFaster, Better, and Cheaper? Building the SD-WAN Business Case
Faster, Better, and Cheaper? Building the SD-WAN Business Case John Burke CIO & Principal Research Analyst Nemertes Research john@nemertes.com @burkejohne #FutureWAN Agenda ±About Nemertes ±The Current
More informationA NEW MODEL FOR AUTHENTICATION
All Rights Reserved. FIDO Alliance. Copyright 2016. A NEW MODEL FOR AUTHENTICATION ENABLING MORE EFFICIENT DIGITAL SERVICE DELIVERY Jeremy Grant jeremy.grant@chertoffgroup.com Confidential 5 The world
More informationDashboard. Jan 13, Jan 8, 2012 Comparing to: Site. 12,742 Visits % Bounce Rate. 00:05:26 Avg. Time on Site.
Dashboard 3 3 15 15 Jan 17 Feb 18 Mar 22 Apr 23 May 25 Jun 26 Jul 28 Aug 29 Sep 3 Nov 1 Dec 3 Ja Site Usage 12,742 4.3% Bounce Rate 39,496 Pageviews :5:26 Avg. Time on Site 3.1 Pages/Visit 61.73% % New
More informationApp Economy Market analysis for Economic Development
App Economy Market analysis for Economic Development Mustapha Hamza, ISET Com Director mustapha.hamza@isetcom.tn ITU Arab Forum on Future Networks: "Broadband Networks in the Era of App Economy", Tunis
More informationProven video conference management software for Cisco Meeting Server
Proven video conference management software for Cisco Meeting Server VQ Conference Manager (formerly Acano Manager) is your key to dependable, scalable, self-service video conferencing Increase service
More informationDeveloping Microsoft Azure Solutions (MS 20532)
Developing Microsoft Azure Solutions (MS 20532) COURSE OVERVIEW: This course is intended for students who have experience building ASP.NET and C# applications. Students will also have experience with the
More informationCOURSE LISTING. Courses Listed. with HANA Programming. 13 February 2018 (04:51 GMT) HA100 - SAP HANA
with HANA Programming Courses Listed HA100 - SAP HANA BC404 - ABAP Programming in Eclipse HA300 - SAP HANA Modeling HA400 - SAP HANA ABAP E_HANAAW_12 - SAP Certified Development Specialist - ABAP for SAP
More informationVMware AirWatch Database Migration Guide A sample procedure for migrating your AirWatch database
VMware AirWatch Database Migration Guide A sample procedure for migrating your AirWatch database For multiple versions Have documentation feedback? Submit a Documentation Feedback support ticket using
More informationMicrosoft Office Project and Project Server Reporting. June 24 th, 2009 Rich Weller, MBA, PMP, MCTS, MCITP Principal Consultant, Pcubed
Microsoft Office Project and Project Server Reporting June 24 th, 2009 Rich Weller, MBA, PMP, MCTS, MCITP Principal Consultant, Pcubed Agenda Reporting with Microsoft Project Views Static Reports Visual
More informationGrant permissions sql server Grant permissions sql server 2008.zip
Grant permissions sql server 2008 Grant permissions sql server 2008.zip 12/01/2011 I am trying to set column level permissions on a table in SQL Server 2008. These are the steps I took: Right-click on
More informationControl Center Release Notes
Release 1.4.1 Zenoss, Inc. www.zenoss.com Copyright 2017 Zenoss, Inc. All rights reserved. Zenoss, Own IT, and the Zenoss logo are trademarks or registered trademarks of Zenoss, Inc., in the United States
More informationMs Sql Server 2008 R2 Check If Temp Table Exists
Ms Sql Server 2008 R2 Check If Temp Table Exists I need to store dynamic sql result into a temporary table #Temp. Dynamic SQL Query How to check if column exists in SQL Server table 766 Insert results.
More informationCraig S. Mullins. A DB2 for z/os Performance Roadmap By Craig S. Mullins. Database Performance Management Return to Home Page.
Craig S. Mullins Database Performance Management Return to Home Page December 2002 A DB2 for z/os Performance Roadmap By Craig S. Mullins Assuring optimal performance is one of a database administrator's
More informationMaintenance Coordinator SQL SERVERS EXPRESS REVISIONS 8x
Current Patch: 8.0.2.5 IMPORTANT NOTE: At many times patches are added to the download without any notification. Also note that there may be fixes not recorded here. How to install update To install an
More informationOxford Scientific Software Ltd
Oxford Scientific Software Ltd 14 Quarry Road, Oxford, OX3 8NU Tel: +44 (0) 1865 766094 Fax: +44 (0) 1865 766091 Email: support@oxscisoft.com Aquator Version 4.3 This version of Aquator adds a significant
More informationSF Current Cumulative PTF Package. I B M i P R E V E N T I V E S E R V I C E P L A N N I N G I N F O R M A T I O N
SF98720 Current Cumulative PTF Package I B M i P R E V E N T I V E S E R V I C E P L A N N I N G I N F O R M A T I O N Copyright IBM Corporation 1993, 2017 - The information in this document was last updated:
More informationSophos Central for partners and customers: overview and new features. Jonathan Shaw Senior Product Manager, Sophos Central
Sophos Central for partners and customers: overview and new features Jonathan Shaw Senior Product Manager, Sophos Central What is Sophos Central? Partner Dashboard Admin Self Service Allows Partners to
More informationMETERS AND MORE: Beyond the Meter
METERS AND MORE: Beyond the Meter Carlo MASSERONI Secretary of the Working Group for Communication at Meters and More AISBL STMicroelectronics, Italy Agenda Meters and More association Technology overview
More information70-459: Transition Your MCITP: Database Administrator 2008 or MCITP: Database Developer 2008 to MCSE: Data Platform
70-459: Transition Your MCITP: Database Administrator 2008 or MCITP: Database Developer 2008 to MCSE: Data Platform The following tables show where changes to exam 70-459 have been made to include updates
More informationCOURSE LISTING. Courses Listed. with Governance, Risk and Compliance (GRC) SAP BusinessObjects. 19 February 2018 (15:13 GMT) GRC100 -
with Governance, Risk and Compliance (GRC) SAP BusinessObjects Courses Listed GRC100 - GRC300-10.0 C_GRCAC_10 - SAP Certified Application Associate - SAP BusinessObjects Access Control 10.0 Page 1 of 12
More informationSQL Server New innovations. Ivan Kosyakov. Technical Architect, Ph.D., Microsoft Technology Center, New York
2016 New innovations Ivan Kosyakov Technical Architect, Ph.D., http://biz-excellence.com Microsoft Technology Center, New York The explosion of data sources... 25B 1.3B 4.0B There s an opportunity to drive
More informationAzure Development Course
Azure Development Course About This Course This section provides a brief description of the course, audience, suggested prerequisites, and course objectives. COURSE DESCRIPTION This course is intended
More informationCopyright 2012, Oracle and/or its affiliates. All rights reserved.
1 Oracle Partitioning für Einsteiger Hermann Bär Partitioning Produkt Management 2 Disclaimer The goal is to establish a basic understanding of what can be done with Partitioning I want you to start thinking
More informationQuatius Corporation - FTP Site Statistics. Top 20 Directories Sorted by Disk Space
Property Value FTP Server ftp.quatius.com.au Description Quatius Corporation Country Australia Scan Date 03/Sep/2015 Total Dirs 133 Total Files 771 Total Data 9.61 GB Top 20 Directories Sorted by Disk
More informationFluidity Trader Historical Data for Ensign Software Playback
Fluidity Trader Historical Data for Ensign Software Playback This support document will walk you through the steps of obtaining historical data for esignal into your Ensign Software program so that you
More informationSCI - software.sci.utah.edu (Select Visitors)
SCI - software.sci.utah.edu (Select Visitors) Web Log Analysis Yearly Report 2004 Report Range: 01/01/2004 00:00:00-12/31/2004 23:59:59 www.webtrends.com Table of Contents Top Visitors...3 Top Visitors
More informationConfiguration Starting the CoDaBix Compact Application General... 2 (1) CoDaBix CompactToolbar... 2 Licence Dialog... 3
1/2 Table of Contents... 1 Starting the CoDaBix Compact Application... 1 Configuration... 1 General... 2 (1) CoDaBix CompactToolbar... 2 Licence Dialog... 3 About... 3 (2) Working Area... 4 (3) Title Bar...
More informationTHE HYBRID CLOUD. Private and Public Clouds Better Together
THE HYBRID CLOUD Private and Public Clouds Better Together Bruno Terkaly Principal Software Engineer Cloud Architect Open Source/Linux Global ISV at Microsoft A MULTI-CLOUD WORLD A growing trend in the
More informationHPE Security Data Security. HPE SecureData. Product Lifecycle Status. End of Support Dates. Date: April 20, 2017 Version:
HPE Security Data Security HPE SecureData Product Lifecycle Status End of Support Dates Date: April 20, 2017 Version: 1704-1 Table of Contents Table of Contents... 2 Introduction... 3 HPE SecureData Appliance...
More informationDTSAgent User Documentation
DTSAgent User Documentation Overview... 1 Installation... 2 Application Installation... 2 Database Installation... 4 DTSAgent Configuration... 5 Initial Configuration... 5 Re-configuring DTSAgent... 6
More informationBEAWebLogic. Portal. Overview
BEAWebLogic Portal Overview Version 10.2 Revised: February 2008 Contents About the BEA WebLogic Portal Documentation Introduction to WebLogic Portal Portal Concepts.........................................................2-2
More informationPersonal vdisk Implementation Guide. Worldwide Technical Readiness
Worldwide Technical Readiness Table of Contents Table of Contents... 2 Overview... 3 Implementation Guide... 4 Pre-requisites... 5 Preparing PVS vdisk to be used with Personal vdisk... 6 Creating a Desktop
More informationTracking the Internet s BGP Table
Tracking the Internet s BGP Table Geoff Huston Telstra December 2000 Methodology! The BGP table monitor uses a router at the boundary of AS1221 which has a default-free ebgp routing table 1. Capture the
More informationLogi Ad Hoc Reporting System Administration Guide
Logi Ad Hoc Reporting System Administration Guide Version 10.3 Last Updated: August 2012 Page 2 Table of Contents INTRODUCTION... 4 Target Audience... 4 Application Architecture... 5 Document Overview...
More informationWHITE PAPER SEPTEMBER 2017 VCLOUD DIRECTOR 9.0. What s New
WHITE PAPER SEPTEMBER 2017 VCLOUD DIRECTOR 9.0 What s New Contents Summary 3 Features Update 3 Enhanced User Interface.................................................... 3 Multisite Management.......................................................
More informationEvaluation Guide for ASP.NET Web CMS and Experience Platforms
Evaluation Guide for ASP.NET Web CMS and Experience Platforms CONTENTS Introduction....................... 1 4 Key Differences...2 Architecture:...2 Development Model...3 Content:...4 Database:...4 Bonus:
More informationManual Trigger Sql Server 2008 Examples Insert Update
Manual Trigger Sql Server 2008 Examples Insert Update blog.sqlauthority.com/2011/03/31/sql-server-denali-a-simple-example-of you need to manually delete this trigger or else you can't get into master too
More informationMonitoring & Tuning Azure SQL Database
Monitoring & Tuning Azure SQL Database Dustin Ryan, Data Platform Solution Architect, Microsoft Moderated By: Paresh Motiwala Presenting Sponsors Thank You to Our Presenting Sponsors Empower users with
More informationLoosely coupled: asynchronous processing, decoupling of tiers/components Fan-out the application tiers to support the workload Use cache for data and content Reduce number of requests if possible Batch
More informationDeveloping Microsoft Azure Solutions: Course Agenda
Developing Microsoft Azure Solutions: 70-532 Course Agenda Module 1: Overview of the Microsoft Azure Platform Microsoft Azure provides a collection of services that you can use as building blocks for your
More informationCourse Outline. Lesson 2, Azure Portals, describes the two current portals that are available for managing Azure subscriptions and services.
Course Outline Module 1: Overview of the Microsoft Azure Platform Microsoft Azure provides a collection of services that you can use as building blocks for your cloud applications. Lesson 1, Azure Services,
More informationNonStop SQL/MX DBS. Concepts and Architecture. Frans Jongma, NonStop Advanced Technology Center
NonStop SQL/MX DBS Concepts and Architecture Frans Jongma, NonStop Advanced Technology Center Agenda Definitions Multi-tenant database What defines a database What defines an instance High level overview
More informationCopyright 2015 EMC Corporation. All rights reserved. Published in the USA.
This Reference Architecture Guide describes, in summary, a solution that enables IT organizations to quickly and effectively provision and manage Oracle Database as a Service (DBaaS) on Federation Enterprise
More informationInstructor : Dr. Sunnie Chung. Independent Study Spring Pentaho. 1 P a g e
ABSTRACT Pentaho Business Analytics from different data source, Analytics from csv/sql,create Star Schema Fact & Dimension Tables, kettle transformation for big data integration, MongoDB kettle Transformation,
More informationCourse Outline. Developing Microsoft Azure Solutions Course 20532C: 4 days Instructor Led
Developing Microsoft Azure Solutions Course 20532C: 4 days Instructor Led About this course This course is intended for students who have experience building ASP.NET and C# applications. Students will
More informationMassive Scalability With InterSystems IRIS Data Platform
Massive Scalability With InterSystems IRIS Data Platform Introduction Faced with the enormous and ever-growing amounts of data being generated in the world today, software architects need to pay special
More informationBuilding a Scalable Architecture for Web Apps - Part I (Lessons Directi)
Intelligent People. Uncommon Ideas. Building a Scalable Architecture for Web Apps - Part I (Lessons Learned @ Directi) By Bhavin Turakhia CEO, Directi (http://www.directi.com http://wiki.directi.com http://careers.directi.com)
More informationPORTALS, DASHBOARDS AND WIDGETS DIGITAL EXPERIENCE MANAGER 7.2
PORTALS, DASHBOARDS AND WIDGETS 1 SUMMARY 1 INTRODUCTION... 4 2 INSTALLATION... 5 2.1 How to install Portal Factory... 5 2.2 Required modules... 5 3 CREATING A PORTAL... 8 3.1 Creating a new Portal site...
More informationOracle Warehouse Builder 10g Runtime Environment, an Update. An Oracle White Paper February 2004
Oracle Warehouse Builder 10g Runtime Environment, an Update An Oracle White Paper February 2004 Runtime Environment, an Update Executive Overview... 3 Introduction... 3 Runtime in warehouse builder 9.0.3...
More informationACTIVE MICROSOFT CERTIFICATIONS:
Last Activity Recorded : July 20, 2017 Microsoft Certification ID : 2665612 MARC GROTE Wittorfer Strasse 4 Bardowick, Lower Saxony 21357 DE marc.grote@it-consulting-grote.de ACTIVE MICROSOFT CERTIFICATIONS:
More informationBest Practices for Testing In Virtual Environments
WWW.QUALTECHCONFERENCES.COM Europe s Premier Software Testing Event World Forum Convention Centre, The Hague, Netherlands The Future of Software Testing Best Practices for Testing In Virtual Environments
More informationIT Best Practices Audit TCS offers a wide range of IT Best Practices Audit content covering 15 subjects and over 2200 topics, including:
IT Best Practices Audit TCS offers a wide range of IT Best Practices Audit content covering 15 subjects and over 2200 topics, including: 1. IT Cost Containment 84 topics 2. Cloud Computing Readiness 225
More informationObtaining and Managing IP Addresses. Xavier Le Bris IP Resource Analyst - Trainer
Obtaining and Managing IP Addresses Xavier Le Bris IP Resource Analyst - Trainer In This Talk 2 Getting IPv4 and IPv6 IPv4 Transfers Protecting Your Resources The RIPE Policy Development Process (PDP)
More informationK5 Portal User Guide
FUJITSU Cloud Service K5 K5 Portal User Guide Version 2.6 FUJITSU LIMITED Preface Purpose of This Document This guide describes the operating procedures for the services provided by FUJITSU Cloud Service
More informationZenoss Core Upgrade Guide
Release 5.3.0 Zenoss, Inc. www.zenoss.com Copyright 2017 Zenoss, Inc. All rights reserved. Zenoss, Own IT, and the Zenoss logo are trademarks or registered trademarks of Zenoss, Inc., in the United States
More informationChanges Schema Of Table Procedure Sql 2008 R2 Replication
Changes Schema Of Table Procedure Sql 2008 R2 Replication The following table describes the possible schema changes that can and cannot When synchronizing data with SQL Server 2008 R2, SQL Server Compact
More informationTOPLink for WebLogic. Whitepaper. The Challenge: The Solution:
Whitepaper The Challenge: Enterprise JavaBeans (EJB) represents a new standard in enterprise computing: a component-based architecture for developing and deploying distributed object-oriented applications
More informationProgramming for Engineers Structures, Unions
Programming for Engineers Structures, Unions ICEN 200 Spring 2017 Prof. Dola Saha 1 Structure Ø Collections of related variables under one name. Ø Variables of may be of different data types. Ø struct
More informationICT PROFESSIONAL MICROSOFT OFFICE SCHEDULE MIDRAND
ICT PROFESSIONAL MICROSOFT OFFICE SCHEDULE MIDRAND BYTES PEOPLE SOLUTIONS Bytes Business Park 241 3rd Road Halfway Gardens Midrand Tel: +27 (11) 205-7000 Fax: +27 (11) 205-7110 Email: gauteng.sales@bytes.co.za
More information