The ORM "Problem"


What to do about object-relational impedance mismatch?  Are ORM's the answer, or do they just create  additional problems?


Posted at 06:01 AM     Read More  
Author: Steven Lott
Technorati Tags:
Technorati Cosmos: Technorati Cosmos
Technorati Watchlist: Technorati Watchlist
Add this entry to:        

The Schema Evolution Problem


Schemas change; we add columns and tables, we change views.  Additionally, we make performance tweaks like modifying indexes or table locations.

However, a schema -- the tables, columns, indexes and what-not -- must have a tidy, easy-to-use version number.  A piece of software should depend on schema version 2.x; when the schema changes from 2.3 to 2.4, we expect software to work; when we change to version 3.1, we expect software to break.

Here are some ways to handle this.


Posted at 06:21 AM     Read More  
Author: Steven Lott
Technorati Tags:
Technorati Cosmos: Technorati Cosmos
Technorati Watchlist: Technorati Watchlist
Add this entry to:        

Stored Procedures Are A Configuration Management Nightmare (revised)


Stored Procedures are notoriously hard to manage.  In order to support production, training, development and various levels of testing, you wind up with several databases each of which has slightly different versions of the stored procedures.  And there's no easy comparison between them.  You can avoid this nightmare through some simple technical choices. 


Posted at 12:44 PM     Read More  
Author: Steven Lott
Technorati Tags:
Technorati Cosmos: Technorati Cosmos
Technorati Watchlist: Technorati Watchlist
Add this entry to:        

Denormalization or "What did you mean by that?"


Denormalization -- like Normalization -- is a buzzword that can be interpreted several ways.  It can mean "duplicated data", or it can mean "alternate forms of normalization."  It's a loaded word, and it leads directly to at least five different kinds of objections.


Posted at 07:59 AM     Read More  
Author: Steven Lott
Technorati Tags:
Technorati Cosmos: Technorati Cosmos
Technorati Watchlist: Technorati Watchlist
Add this entry to:        

Genius Move -- Characteristic Functions


The name is obscure, the math isn't obvious,  but this is a genius play for data analysis applications.  Thanks!


Posted at 09:54 AM     Read More  
Author: Steven Lott
Technorati Tags:
Technorati Cosmos: Technorati Cosmos
Technorati Watchlist: Technorati Watchlist
Add this entry to:        

My Query Is Slow -- What To Do?  Or Dumb-As-A-Post SQL (Revised)


When in doubt, step away from the IDE -- stop typing -- start thinking.  Here are some epic non-solutions to a standard, well-understood problem.


Posted at 06:30 PM     Read More  
Author: Steven Lott
Technorati Tags:
Technorati Cosmos: Technorati Cosmos
Technorati Watchlist: Technorati Watchlist
Add this entry to:        

The Django World-View: Model+Admin First; Built-in Transparency and Trustworthiness


I saw a great opinion piece on "simplification" -- one that lands squarely on the Django sweet-spot of "model + admin first, reporting second". It makes perfect Agile sense, and it really does simplify things.


Posted at 02:24 PM     Read More  
Author: Steven Lott
Technorati Tags:
Technorati Cosmos: Technorati Cosmos
Technorati Watchlist: Technorati Watchlist
Add this entry to:        

Another Dimensional Model Implementation 


See Cubulus and Alexandru Toth's page.  This is very nice to see advanced work done on the dimensional model.

This is interesting because it eschews traditional star-schema SQL for a technique apparently called "Multidimensional Hierarchical Clustering".


Posted at 09:14 PM     Read More  
Author: Steven Lott
Technorati Tags:
Technorati Cosmos: Technorati Cosmos
Technorati Watchlist: Technorati Watchlist
Add this entry to:        

Just for a moment, I though I'd found something SQLAlchemy doesn't do perfectly.


Before I could finishing thinking about the problem, it was already fixed!  After looking around at ORM tools (in "Python Object-Relational Mapping (Revised)"), and attending PyCon 2007, I began to like the look of SQLAlchemy.  I was happy until I uncovered something ("SELECT with group by UNION select drops the group by clause") that was pretty obscure, and didn't work perfectly.  And the bug fix flew by so quickly, I was amazed.


Posted at 01:40 PM     Read More  
Author:
Technorati Tags:
Technorati Cosmos: Technorati Cosmos
Technorati Watchlist: Technorati Watchlist
Add this entry to:        

Dejavu and Python-based Dimensional Analysis


Just got a note on new developments at projects.amor.org. Specifically, Dejavu's analysis module has a crosstab function that looks vaguely familiar to me.

Posted at 06:14 AM     Read More  
Author:
Technorati Tags:
Technorati Cosmos: Technorati Cosmos
Technorati Watchlist: Technorati Watchlist
Add this entry to:        

More Dimensional Model Implementations


This one is called "ActiveWarehouse" and is a Ruby/Rails project. However, the ActiveWarehouse Example, which shows an implementation which parallels my Python implementation nicely.

Posted at 07:59 PM     Read More  
Author:
Technorati Tags:
Technorati Cosmos: Technorati Cosmos
Technorati Watchlist: Technorati Watchlist
Add this entry to:        

What a Data Warehouse Can Never Do


I've had this conversation in several different forms. It's a subtle, gray-area question about data warehousing. I think there's a right answer, but getting others to see that answer is challenging.

Posted at 09:40 AM     Read More  
Author:
Technorati Tags:
Technorati Cosmos: Technorati Cosmos
Technorati Watchlist: Technorati Watchlist
Add this entry to:        

Python OODB (Revised)


This is a tougher list to create, where is the line between object persistence and OODB? And where does ORM fit?

Posted at 06:35 AM     Read More  
Author:
Technorati Tags:
Technorati Cosmos: Technorati Cosmos
Technorati Watchlist: Technorati Watchlist
Add this entry to:        

Python Object-Relational Mapping (Revised)


Time to collect a number of Object-Relational mapping and Database driver links in one place. Specifically, some Oracle-related questions have lifted a need to get cx_Oracle installed and running and quit messing around with mx.ODBC. I don't need the perfect portability of ODBC. I need access to Oracle features.

Posted at 10:37 PM     Read More  
Author:
Technorati Tags:
Technorati Cosmos: Technorati Cosmos
Technorati Watchlist: Technorati Watchlist
Add this entry to: