it works! presenting dbal use in real life

24
It Works! Presenting DBAL use in real life.

Upload: karsten-dambekalns

Post on 20-Aug-2015

1.318 views

Category:

Technology


0 download

TRANSCRIPT

It Works!Presenting DBAL use in real life.

OverviewIntroduction

Case Studies

Oracle 10g

MS SQL Server

MySQL

Summary

Q&A

Introduction

About meKarsten [email protected]

Co-Founder of fishfarm netsolutions

Active Member of the TYPO3 Association

Core Team Member and participating of the current 5.0 development

IntroductionDBAL project started in 2004

Slow – but steady – progress since then

First official release with TYPO3 version 4.0 in 2006

Still some issues, still lack of feedback

Some real-life projects getting done

fields include NGOs, banking, marketing, manufacturing, services

Current statusWorks pretty well

Satisfactory speed

Issues with BLOB fields may come up

Non-DBAL-compliant extensions break (naturally)

20 open issues in the bug tracker, some may be fixed already

Further enhancements planned, specifically performance-wise

Oracle 10g

CuCoMa on OracleHelps with planning, conducting and monitoring centralized and decentralized marketing activities like mailings and call centers

Based on TYPO3 to make use of it‘s features for defining and handling content related to those activities

Originally based on MySQL

Oracle was and still is a customer requirement

no in-house MySQL knowledge

scalability needs

Having fun with OracleKnown Oracle problem: field name length restrictions

Can be solved with field name mapping

It turned out Oracle 10g changed in ways that broke DBAL:

A „recycle bin“ was introduced, that caused ghost tables to appear: BIN$/EUEmP2XQr+vN09otWMexg==$0

TYPO3 changed, too:

In 4.0 more than one group can have access to an element. Do you think NULL is an empty string?

Facts & FiguresTwo servers with each 2 x 3,4 GHz Intel P4, Raid, 4GB RAM, Windows 2003 Server Apache 2.0

Software: ZendCore for Oracle, Oracle 10g R2

Currently ~500 logged in users

DB: ~10MB for TYPO3, ~180MB for CuCoMa showing strong growth

Does it work well?There is currently one bug left in that project, causing BE user rights to fail in certain cases - otherwise it works fine!

Speed is perceived as only slightly slower than direct access to MySQL provides

For the future performance advantages are expected as the amount of data in the system grows

MS SQL Server

[wmdb]:A Knowledge Base on SQL Server

TYPO3-based knowledge base application for a german automobile manufacturer (no, not VW...)

Based on TYPO3 because it allowed fast and easy development and provides the needed flexibility and features

Based on MS SQL Server because the customer

has no in-house knowledge for MySQL

thinks there is no support for open source software

Facts & FiguresSoftware

Windows 2003 Server SP1 in VMware GSX running on a Windows 2003 host machine

Apache 1.3.37, PHP 4.1

SQL Server 2000 SP3

Hardware

Dual AMD Opteron 2.4GHz, 2GB RAM

It works!Problems including datatype conversion and identifier quoting were solved

SQL Server needed some configuration tweaks

Performance was a problem on the production system - as opposed to the development environment

moving the VMware setup to a machine not being at 100% CPU load solved this

All in all it works as it should!

MySQL Cluster

Greenpeace GermanyGreenpeace Germany is using TYPO3 after having switched from a system based on OpenACS in 2005

@artplan[21] from Berlin is the lead for the whole website project and the general contractor for Greenpeace

net&works from Hannover is responsible for planning the hardware infrastructure

Data migration from Oracle (OpenACS) to MySQL (TYPO3) done by fishfarm netsolutions from Braunschweig

A problem to solve...The web servers cache temporary files locally

Shared files are stored on distributed storage space

Shared database content is held in the MySQL cluster

Wouldn‘t it be great to have the temporary database content on the individual web servers, too?

DBAL to the rescueFirst we had to backport DBAL to TYPO3 version 3.8.1 and make sure the used extensions where DBAL-compliant

This affected versioning, t3lib_sql* and DBAL itself

A handful of extensions needed to be tweaked, too

Special problem: FE rendering joins pages and cache_pages

see patch in DBAL doc folder

All changes have been merged into the core, where useful

Facts & FiguresThe planned setup consists of:

3 database servers running Continuent uni/cluster for MySQL

4 web servers with Apache and PHP 4

Shared files are stored on NFS

Load balancer

The setup is scheduled to go live the week after the T3CON

Summary

What have we learned?The DBAL is working „well enough“ to use it

Some issues remain, additional work is needed to get it up and running

Some problems can probably never be solved

We need you to tell us about your problems and fixes!

We need a new way of accessing data for the future!

Questions? Answers!

Maybe...

It Works!Presenting DBAL use in real life.Inspiring People to Share

Karsten [email protected] | [email protected]