~drizzle-trunk/drizzle/development

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