Download presentation
Presentation is loading. Please wait.
1
Data Persistence In A Web Hosted World
2
Jeff Ammons The Atlanta Journal-Constitution GGMUG.com
Developer/DBA GGMUG.com President Gwinnett, Georgia, Microsoft User Group 2nd Thursday, 6:30 PM Gwinnett Tech Blog:
3
Agenda Define Hosted Environment Explore Data Persistence Options
DBA Tasks With Hosted SQL Server Data Access With LINQ and Entity Framework
4
What Is Hosted Environment?
Web Shared Server Managed By Hosting Company
5
What’s Included? Web Server File Storage Database Bandwidth
6
Examples GoDaddy Hostgator DiscountASP.net Bizhostnet.com
7
Who Is This Environment For?
Start-ups Non-profit organizations Personal use
8
Why Choose A Hosted Env? Lost cost ($5-$20/month) Quick Start
Fewer People Required No hardware to buy No hardware to maintain No server room
9
Challenges Server Access Server Options Server Load
Dude, Where’s My Data? Dude, Who Can See My Data?
10
Microsoft vs FOSS: The FOSS Advantage
Lots of FOSS based sites (LAMP) Lots of FOSS sample code Zero start-up cost MS stack seen as ugly and corporate-looking
11
Microsoft vs FOSS: The Empire Strikes Back
Asp.Net MVC JQuery supported OFFICIALLY Visual Studio Express Edition BizSpark WebsiteSpark You CAN achieve zero start-up cost You CAN make good looking sites
12
Asp.Net Options SharePoint WebForms MVC ASP.NET
13
Data Persistence Options
MySQL SQL Server File Based XML JSON
14
Why Not MySQL? .Net naturally works better with SQL Server
LINQ To SQL works ONLY with SQL Server Entity Framework support for MySQL is dodgy This is NOT MySQL Saturday…
15
SQL Server $15/month = Unlimited 200 MB DBs
Good basic set of functionality Choice of access methods LINQ To SQL Entity Framework ADO Etc.
16
SQL Server and MySQL
17
What’s Missing? Missing In Action Alternative Agent Wish You Had Agent
SSIS SSRS SSAS Wish You Had Agent Stored Procs ASP App Perhaps With Silverlight, why not? None
18
Types Of Access Direct Access Web Admin SQL Server Management Studio
Expose YOUR database directly to the Internet Web Admin Primitive tools CYDB
19
Typical DBA Tasks Set Up Backups/Restores Imports/Exports Schemas
Tables Indexes Views Stored Procedures Backups/Restores Imports/Exports
20
Demo Time
21
Developer/DBA Developers vs DBAs Objects vs Relational Data ORM
22
What Is LINQ? Language INtegrated Query
SQL-like language construct for .Net Joins Tables Objects Both Aggregation Selection
23
Example LINQ Query var orderedModuleList = from module in itemList.getList() orderby module.Name select module;
24
LINQ To Lots Of Stuff LINQ To Entities LINQ To SQL LINQ To Objects
LINQ To XML
25
File System Options POCO (Built-in .Net Serialization) XML
26
Why? Why? Why? Not ALL apps need relational databases SMALL datasets
Burn the heretic!!! SMALL datasets Lots of Readers/Few Publishers Blog Informational site Personal site Excessive DB Traffic
27
Example Custom ASP.Net Membership Provider Basic log-on info
Works great with 10-30,000 users Total DOG with 500,000 users No calls to DB server Most start-ups would KILL to get 10,000 users
28
Demo Time
29
Goals For Your Project Website itself Web app others can use
30
Strategy 1: SQL Server Your hosting plan gives you all the DBs you need Latency of calling DB server is acceptable Don’t kill yourself by calling DB too much Cache, Cache, Cache
31
Strategy 2: File System Now, SQL Server Later
Repository Pattern LINQ lets you query object collections Switch to SQL Server if you grow Not as big a deal as it once was SQL Server now pretty cheap
32
Helpful Links MSDN: Dynamic Management Views and Functions
SQLServerCentral SQLBlog
33
Helpful Queries SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition') select top 100 * from sys.dm_tran_locks select login_name, count(1) from sys.dm_exec_sessions group by login_name order by count(1) desc SELECT creation_time ,cursor_id ,name ,c.session_id ,login_name FROM sys.dm_exec_cursors(0) AS c JOIN sys.dm_exec_sessions AS s ON c.session_id = s.session_id WHERE DATEDIFF(mi, c.creation_time, GETDATE()) > 5;
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.