Just read this great post, Call me maybe: MongoDB and the wrap-up post, Call me maybe: final thoughts. They're part of a series called Jepsen on behavior of various NoSQL databases in failure scenarios.
Very geeky but very interesting.
Rob Garrison's writings on Data Architecture: Hadoop, SQL Server, performance, design, testing, best-practices, and automation.
Tuesday, November 19, 2013
Completed MongoDB M102
As I mentioned earlier, I signed up for "M102: MongoDB for DBAs". Great class.
I just completed it yesterday and got 100% on everything, homework and final.
If you're interested in learning about MongoDB, this is a great way to get a broad exposure in a limited amount of time. Because it includes weekly lectures and homework, you can't procrastinate like you can with that technical book on your desk that you planned to read through.
I just completed it yesterday and got 100% on everything, homework and final.
If you're interested in learning about MongoDB, this is a great way to get a broad exposure in a limited amount of time. Because it includes weekly lectures and homework, you can't procrastinate like you can with that technical book on your desk that you planned to read through.
Speaking at Data Modeling Zone 2014
My boss, Ryan Smith, and I will co-present on modeling in NoSQL at Data Modeling Zone 2014 here in Portland.
It's not until October of next year, so we don't have things nailed down yet, but it will be fun to work with Ryan on this.
It's not until October of next year, so we don't have things nailed down yet, but it will be fun to work with Ryan on this.
RESTful Service Best Practices
I was recently looking for reference material to back up my preference for storing date/time values in MongoDB in UTC using MongoDB's ISODate type. I found this great reference published at amazonaws.com:
RESTful Service Best Practices
Recommendations for Creating Web Services
It gives a solid recommendation for RESTful services:
RESTful Service Best Practices
Recommendations for Creating Web Services
It gives a solid recommendation for RESTful services:
"... always use the same format, including the time portion (along with timezone information) in the string. ISO 8601 time point format is a good solution, using the fully-enhanced format that includes hours, minutes, seconds and a decimal fraction of seconds (e.g. yyyy-MM-dd'T'HH:mm:ss.SSS'Z')."It doesn't directly address storage directly, but it's such a great resource, I wanted to share it.
Wednesday, October 30, 2013
Exploring SQL Server 2012's sys.dm_exec_describe_first_result_set_for_object()
SQL Server 2012 introduces sys.dm_exec_describe_first_result_set_for_object(). The official documentation is here.
Let's work through some examples to discover what this new function delivers.
First, build a table that will be used to illustrate the function:
Then build the simplest possible stored procedure that references that table:
Now call the function:
Remember that this stored procedures selects only one column. There are many columns in the result set. Here are some of the more interesting ones:
Let's work through some examples to discover what this new function delivers.
First, build a table that will be used to illustrate the function:
CREATE TABLE dbo.TestTable (
ColID INT IDENTITY,
ColStr CHAR(10) NOT NULL,
ColMod AS ColID % 10,
ColDef bit NOT NULL DEFAULT 0,
ColCalc0 INT NULL,
ColDec DECIMAL(3,2) NULL,
CONSTRAINT UIX_Test1_ColStr UNIQUE (ColStr)
);
Then build the simplest possible stored procedure that references that table:
CREATE PROCEDURE dbo.SimpleProc AS
SELECT ColID FROM dbo.TestTable;
Now call the function:
SELECT *
FROM sys.dm_exec_describe_first_result_set_for_object (
OBJECT_ID('dbo.SimpleProc'),
0
);
Remember that this stored procedures selects only one column. There are many columns in the result set. Here are some of the more interesting ones:
is_hidden: 0
column_ordinal: 1
is_nullable: 0
system_type_name: INT
is_identity_column: 1
is_updateable: 0
is_computed_column: 0
ordinal_in_order_by_list: NULL
order_by_is_descending: NULL
asdfMongoDB Training
I am in the middle of taking a free on-line class: "M102: MongoDB for DBAs".
Very interesting and educational so far. Also a bit frustrating. As I don't have a background in JavaScript, there are certain parts of the class that I struggle with.
In general though, this is a great class and well worth your time if you are interested in MongoDB.
Very interesting and educational so far. Also a bit frustrating. As I don't have a background in JavaScript, there are certain parts of the class that I struggle with.
In general though, this is a great class and well worth your time if you are interested in MongoDB.
Wednesday, August 07, 2013
Just Do It!
My last day at Fiserv (second round) was Thursday, August 1st. On Monday, I started as an Expert Data Architect at Nike.
I am so excited about this change and really look forward to what I can learn and contribute at Nike.
Friday, June 28, 2013
New Simple-Talk Article on Hekaton
My article on Hekaton:
Exploring In-memory OLTP Engine (Hekaton) in SQL Server 2014 CTP1
was published on Tuesday. This follows very closely the release of CTP1 of SQL Server 2014.
Exploring In-memory OLTP Engine (Hekaton) in SQL Server 2014 CTP1
was published on Tuesday. This follows very closely the release of CTP1 of SQL Server 2014.
Tuesday, June 25, 2013
SQL Server 2014 CTP1
CTP1 of SQL Server 2014 is now available! Go download it and start using it.
My first SQL 2014 article will be published at simple-talk soon. I will update this post with a link once the article is on-line.
My first SQL 2014 article will be published at simple-talk soon. I will update this post with a link once the article is on-line.
Tuesday, March 26, 2013
My New Role at Fiserv: Patterns and Practices Manager
In addition to the Data Architect role that I will continue to play, I am now the Patterns and Practices Manager for the Digital Channels Enterprise Architecture team.
Here is the text right out of the March 12th e-mail that announced the change:
Rob
Here is the text right out of the March 12th e-mail that announced the change:
Rob will take on responsibility for managing our processes and best practices within the Group. He will continue to lead our Database design discipline, but will also take on management for the Corillian [Professional Services] Architects. Michael Hallabrin, Tim Sarna, and Rocco Martin will report in to Rob as part of the CO-L Solutions Architecture team.I am really excited about this new role. Michael, Tim, and Rocco are a bunch of really smart guys, and I am enjoying working more closely with them.
Rob
Presenting on SQL Server Change Data Capture in Eugene
I will be speaking to the Eugene Area SQL Server User Group on CDC.
SQL Server's Change Data Capture feature was introduced with SQL 2008, but how much do you know about how it works? After attending this session, you will understand the various parts involved in CDC, know how to set it up, and know the relative performance effect.
Our focus here is not just showing how CDC works on the surface (there are many articles that cover that), but rather to see what we can find out about the various moving parts within SQL Server that actually make CDC function. Understanding the internals will help in an overall understanding of CDC.
Peace Health, 123 International Way
Springfield OR
April 9th at 11:30am
Topic: Deconstructing SQL Server's Change Data Capture
SQL Server's Change Data Capture feature was introduced with SQL 2008, but how much do you know about how it works? After attending this session, you will understand the various parts involved in CDC, know how to set it up, and know the relative performance effect.
Our focus here is not just showing how CDC works on the surface (there are many articles that cover that), but rather to see what we can find out about the various moving parts within SQL Server that actually make CDC function. Understanding the internals will help in an overall understanding of CDC.
Location/Time
Peace Health, 123 International Way
Springfield OR
April 9th at 11:30am
Monday, January 28, 2013
A Creative Use of Computed Columns
I love to see a creative solution to a technical problem.
How can I get that user out of my table quickly by JackLi
Great creative solution using indexed persisted computed columns.
The beauty of indexed persisted computed columns is that, yes, you have to pay the cost of doing the computation, but you only pay that cost at the point where you INSERT or UPDATE that particular column. If the data is mostly static as it is in this case, the one-time cost is very small.
How can I get that user out of my table quickly by JackLi
Great creative solution using indexed persisted computed columns.
The beauty of indexed persisted computed columns is that, yes, you have to pay the cost of doing the computation, but you only pay that cost at the point where you INSERT or UPDATE that particular column. If the data is mostly static as it is in this case, the one-time cost is very small.
Wednesday, January 16, 2013
You Can’t Sacrifice Partition Tolerance
Just finished reading this excellent article by Coda Hale:
I thought the bit about yield versus uptime was very interesting, as was the bit about harvest (harvest = data available/complete data). Historically, [the corporate] we have built systems that sacrifice yield in the event of a failure. I like the challenge/opportunity of building a system that reduces harvest but maintains yield.
Subscribe to:
Posts (Atom)