~drizzle-trunk/drizzle/development

665.1.4 by Eric Herman
Added pointer to online version of the FAQ
1
A more current version of the FAQ can be found on the drizzle wiki:
2
http://drizzle.org/wiki/FAQ
3
4
192 by Brian Aker
Updating FAQ
5
Hi!
183 by Brian Aker
Partial FAQ (questions to answert). Removed two dead variables. Need chai...
6
1 by brian
clean slate
7
* So why?
8
9
I've been wondering for a long time now about all of the changes post 4.1.
10
I believe there is a large market of users who never wanted them, and never
11
cared for them. I also wanted to question the foundations of what we built.
201.1.1 by Jay Pipes
cleanup of FAQ file
12
Do users want wrong data? How often is the query cache really valuable? If
1 by brian
clean slate
13
everyone just has a root user with all privs, why carry the baggage of the
14
ACL code. Etc.
15
192 by Brian Aker
Updating FAQ
16
* What is the goal?
1 by brian
clean slate
17
18
A micro-kernel that we then extend to add what we need (all additions come
202.1.2 by brian
Updated FAQ.
19
through interfaces that can be compiled/loaded in as needed).  The target
660.1.1 by Eric Herman
removed trailing spaces; re-wrapped long lines to 76 columns
20
for the project is web infrastructure backend and cloud components.
202.1.2 by brian
Updated FAQ.
21
202.1.3 by brian
Merge/fix in FAQ.
22
* Is this a product of Sun/MySQL?
202.1.2 by brian
Updated FAQ.
23
660.1.1 by Eric Herman
removed trailing spaces; re-wrapped long lines to 76 columns
24
No, though several of the authors do work for Sun/MySQL. The development
25
model is one based around open collaboration.  
26
656.1.9 by Monty Taylor
Merged with trunk.
27
Drizzle's license is the GPL v2 and all contributions come in as BSD.
202.1.2 by brian
Updated FAQ.
28
29
* So what are the differences between is and MySQL?
1 by brian
clean slate
30
660.1.1 by Eric Herman
removed trailing spaces; re-wrapped long lines to 76 columns
31
No modes, views, triggers, prepared statements, stored procedures, query
32
cache, data conversion inserts, ACL. Fewer data types.  Less engines, less
33
code.  Assume the primary engine is transactional.
1 by brian
clean slate
34
35
* Why now?
36
37
Why not now :)
38
39
* "This is awesome, but I need you to add back..."
40
41
Forget it. Nothing is going back in at this time. As for the future? Maybe,
660.1.1 by Eric Herman
removed trailing spaces; re-wrapped long lines to 76 columns
42
but at the moment this is not the target. If you want more features, go use
43
MySQL.
1 by brian
clean slate
44
45
* What platforms?
46
47
I compile on OSX, Linux (Fedora), and Solaris Express. Windows is not
48
supported and will stay that way unless it gets a working posix layer +
49
autoconf system (aka becomes a platform that is reasonable to support).
50
192 by Brian Aker
Updating FAQ
51
Really, get a working GNU chain going on Windows and you can get Drizzle
52
working on it.
1 by brian
clean slate
53
192 by Brian Aker
Updating FAQ
54
Drizzle relies on a C99 compliant compiler. Please do not ask us to support
55
older hardware, compilers, or OS'es.
1 by brian
clean slate
56
57
* What is the future?
58
59
Less code, more modularity, and more active involvement. A few things that
60
still need to be done:
61
- Switch to stdint
62
- Walk through all of the replication code
63
- Re-implement information schema
64
- Modular logging system
192 by Brian Aker
Updating FAQ
65
- ...
1 by brian
clean slate
66
67
* "This is not a SQL compliant relational..."
68
660.1.1 by Eric Herman
removed trailing spaces; re-wrapped long lines to 76 columns
69
Very true, and we do not aim to be that.
1 by brian
clean slate
70
71
* What is left to be cut out?
72
192 by Brian Aker
Updating FAQ
73
Please ask on the mailing list or on IRC.
74
75
* Can I get involved?
76
660.1.1 by Eric Herman
removed trailing spaces; re-wrapped long lines to 76 columns
77
Most certainly. There is plenty to do from refactoring code, design of
78
interfaces, documentation and blueprints, etc... The best way to get
79
involved it to join the mailing list at:
201.1.1 by Jay Pipes
cleanup of FAQ file
80
192 by Brian Aker
Updating FAQ
81
https://launchpad.net/~drizzle-discuss/
82
83
If you wish to suggest a refactoring project or an interface please email
84
the mailing list and keep an open mind. Do not expect anyone will work on
85
your idea though, you may influence someone to do that, but more then likely
201.1.1 by Jay Pipes
cleanup of FAQ file
86
you will need to rollup your sleeves and write some code. For very simple
192 by Brian Aker
Updating FAQ
87
bits you are welcome to ask others on #drizzle on Freenode, but please be
660.1.1 by Eric Herman
removed trailing spaces; re-wrapped long lines to 76 columns
88
aware that you may be asked to email the mailing list.
192 by Brian Aker
Updating FAQ
89
90
Showing up with a big block of code is probably the worst way of getting
660.1.1 by Eric Herman
removed trailing spaces; re-wrapped long lines to 76 columns
91
your work accepted. This is unlikely to work.
192 by Brian Aker
Updating FAQ
92
93
Right now we use a simple captain system for commits. Anyone can send in a
94
proprosal for merge via launchpad but your changes may be flowed first
95
through someone who has been around long enough to understand code
96
requirements to review your code. This system is based entirely on trust,
97
and individuals who have shown that they can provide three good patches gain
98
credibility. Starting small is fine, patches that are just comments or are
201.1.1 by Jay Pipes
cleanup of FAQ file
99
even two or three line cleanups are welcome and encouraged. I would really
660.1.1 by Eric Herman
removed trailing spaces; re-wrapped long lines to 76 columns
100
recommend that anyone who wants to work on something first start with
101
something of this size. Patches like these are valuable and teach you how to
102
work with the system.
192 by Brian Aker
Updating FAQ
103
104
The general rule is no new code in the core of the server, and any changes
105
to interfaces need to be code line neutral. AKA if you want to add an
106
interface you need to be able to remove at least the number of lines of code
107
you added. This is a rule of thumb, and does not apply to code cleanup.
108
109
It should be pointed out that we are more focused on code style,
110
performance, and over all maintenance then we are features.
111
112
* What is the coding style?
113
114
Please look here:
201.1.1 by Jay Pipes
cleanup of FAQ file
115
664 by Brian Aker
Completing up replication API.
116
http://drizzle.org/wiki/Coding_Standards
192 by Brian Aker
Updating FAQ
117
118
If you have a question on this, please email the mailing list so that we can
201.1.1 by Jay Pipes
cleanup of FAQ file
119
clarify the document. And when you get the answer? Please update the code
192 by Brian Aker
Updating FAQ
120
style document :)
121
122
* Should I email the mailing list with patches?
123
124
Please god no, we live in the age of the Internet :)
125
126
Create an account on launchpad.net. Create your own tree and let one of us
127
pull from it.
128
129
* What is the target?
130
131
Deliver a microkernel that we can use to build a database that meets the
132
needs of a web/cloud infrastructure. To this end we are exploring http
133
interfaces, sharding enhancements, etc... do not expect an Oracle, MySQL,
660.1.1 by Eric Herman
removed trailing spaces; re-wrapped long lines to 76 columns
134
Postgres, or DB2.
201.1.1 by Jay Pipes
cleanup of FAQ file
135
136
There is no GA date at the moment.
192 by Brian Aker
Updating FAQ
137
138
We are focusing on multi-core architecture. This is not designed to run on a
139
wrist watch (hint, go use SQLite). We support both 32bit and 64bit but the
140
class of machine we are targetting is 64bit. We are making design decisions
141
which assume very large amounts of RAM will be made available to the DB.
142
143
* Can I run a website with this?
144
201.1.1 by Jay Pipes
cleanup of FAQ file
145
No. We are still making incompatible changes, and I certainly do not believe
192 by Brian Aker
Updating FAQ
146
the code is production quality. Right now we are defaulting many configure
147
operations to generate debugging code for us so our binaries are not
660.1.1 by Eric Herman
removed trailing spaces; re-wrapped long lines to 76 columns
148
optimal.  Therefore, do not go out and benchmark this and expect it to be
149
one way or the other. We are currently only doing benchmarks where it makes
150
sense for us to determine where bottlenecks are.
1 by brian
clean slate
151
152
* Why drizzle?
153
660.1.1 by Eric Herman
removed trailing spaces; re-wrapped long lines to 76 columns
154
I am from Seattle. Drizzle is our normal form of "rain" but it is not
155
"rain", it is drizzle. This was a bit of a rainy day project that finally
156
found a spot in my schedule :)
1 by brian
clean slate
157
158
  -Brian
159
    Seattle, USA
192 by Brian Aker
Updating FAQ
160
    Sun, Microsystems