text:
Improving N-Distinct estimation =============================== v1.1 OBJECTIVES Answer these points... - Are there any performance issues that can be directly attributed to mis-estimation of N-Distinct ("D") by the ANALYZE command? - If so, can we do better than we currently achieve? How? - Would altering the estimate of D cause problems in other places? Comments are sought on the problem and the possible solutions. Please get involved if you can help with detailed analyses on this topic. SUMMARY The estimation of D is difficult and imprecise. The current method works well in many cases, yet breaks down *badly* in one particular very common use case of database design: a large dependent table with a multi-column Primary Key. In some cases the estimate of D *decreases* as the size of the table increases, though the estimate of D is an underestimate in almost all cases, whatever the table design. PostgreSQL cvstip currently seriously under estimates D for very large dependent tables with rows that are clustered around one of the columns of a multi-column Primary Key. The mis-estimation identified can lead to poor system performance should the mis-estimation lead to the use of HashAggregate or general mis-selection of optimal join plans. An example of this is the orders and lineitem tables from DBT-3/TPC-H, which have a 1:M relationship. There are M lineitems associated with each order and all are inserted in one transaction into lineitem. If M is relatively large, then problems may ensue. A problem SQL statement may be something like: SELECT l_orderkey, sum(l_extendedprice) from lineitem; This issue could have an impact on any large table in a 1:M relationship where the actual number of distinct values, D, is much larger than the sample size, n. (D >> n). This can also effect associative tables where more than one 1:M relationship exists to separate tables, such as Fact tables in a star schema. The issue is alleviated by setting the column statistics target higher, though this merely increases the size range of the table over which problems may occur. There are a number of ways we can improve on the current estimates, using techniques suggested in later statistical research. Some proposals are made and comments are sought on the problem and the possible solutions. It is possible that we need more than one estimate of D for various purposes. We might potentially need a low estimate of D for use in join planning, whereas a higher estimate to reduce the risk of hash table operations. This approach might be taken initially to allow us to implement improved estimators without throwing out many previously good plans. WHAT WE CURRENTLY DO WITH ANALYZE Notation D = estimate of the number of distinct values (aka n_distinct) N = number of rows in table n = number of rows in sample Sampling method * Fixed sample size, no matter how big table, following Chaudhuri et al's 1998 paper on sample size sufficiency for statistics histograms. * Sample blocks = sample rows = 300 * col stats target Results * Count rows/value for all values observed in sample f1 = number of unique values in sample d = number of values in sample * If f1 == n => assume unique: D = N and scale with N else If f1 == 0 => assume D = d else => apply Haas-Stokes [1998] estimator * If D > 10% of N => scale with N [There are a variety of techniques selected from Haas-Stokes [1998], Chaudhuri et al [1998], Vitter and Knuth. Sometimes these authors have discussed the same subject and come up with different answers, so you need to be careful to say which reference you mean when discussing these.] ISSUES 1. Estimation of D; mentioned above and covered in more detail below. (see ESTIMATES OF D FOR DEPENDENT TABLES) 2. The sample size calculation correctly follows Chaudhuri et al [1998] when the number of rows in the table is 1 million. However, smaller tables are overestimated and larger tables are underestimated. The sample size should be multiplied by 2.3 (i.e. ln(10)) for every x10 larger table size. e.g. a 100 million row table requires sample size 4.6 times larger to have the same accuracy for histogram selection. OBSERVATIONS 1. *All* methods of statistical analysis are improved by larger sample fractions. The D estimator method currently in use shows an optimum of accuracy and sample fraction at around 5% of a table, as shown in the author's original paper [Haas Stokes (1998)]. The current implementation's error rates climb higher as table size increases. 2. In terms of I/O, ANALYZE is relatively inefficient, since it uses a row sampling technique rather than a block sampling technique. This would translate directly into a performance drop from large sample ratios, but since we currently use a fixed sample size this problem is not yet visible for larger tables. With a 2GB table, we would typically sample 1% of the blocks, yet around 0.025 - 0.05% of the rows. 3. Large values of statistics target (up to 1000) could cause a number of problems with statistics catalog table growth (mentioned on -perform). Setting these values appropriately can take significant effort. Automatic scaling of such parameters is desirable. 4. ANALYZE doesn't use more memory if maintenance_work_mem is set high, nor does it use less if it is set low. Actual memory usage isn't measured at all. With very long rows this is max 24 MB with default stats target settings and BLCKSZ, or 2.4 GB with highest stats target (1000). This probably is of lower importance since stats targets are only usually set higher on larger databases, which typically have larger memory configurations anyway - and very long rows are uncommon because of TOAST. Typical memory usage by ANALYZE would be < 1 MB with default settings i.e. maybe as low as a 0.01% sample for a very large table. ESTIMATES OF D FOR DEPENDENT TABLES Lets look at this example from DBT-3/TPC-H: Two tables, orders and lineitem. Each row in orders has M rows in lineitem, so they have a 1:M relationship. create table orders (o_orderkey integer, o_custkey integer, o_orderstatus char(1), o_totalprice numeric(12,2), o_orderdate date, o_orderpriority char(15), o_clerk char(15), o_shippriority integer, o_comment varchar(79), primary key ( o_orderkey ) ); create table lineitem (l_orderkey integer, l_partkey integer, l_suppkey integer, l_linenumber integer, l_quantity numeric(12,2), l_extendedprice numeric(12,2), l_discount numeric(12,2), l_tax numeric(12,2), l_returnflag char(1), l_linestatus char(1), l_shipdate date, l_commitdate date, l_receiptdate date, l_shipinstruct char(25), l_shipmode char(10), l_comment varchar(44), primary key ( l_orderkey, l_linenumber ) ); where lineitem.l_orderkey references o_orderkey The rows in lineitem are all inserted in the same transaction that the order is inserted. As a result, they are very likely to be in the same data block, or adjacent data blocks (*) ANALYZE randomly samples rows, so that the average gap between randomly selected rows increases as the table size increases, because of the fixed sample size. Since the clustered rows are typically close together, then the apparent number of multiple instances of the same data value decreases as the sample fraction decreases. Since the sample size is currently fixed, this means that the D estimate decreases as the table size increases. (This is proven in a test case below). (*) The only alleviation from this effect occurs when we have the FSM full of randomly placed blocks. In that case, we will sometimes get consecutively INSERTed orderline rows in blocks that are wide apart within the table. However in our example, the fulfillment of orders is not random and so blocks with freespace tend to appear first at the beginning of the table and cycle through the table over time. So, even in the unlikely event that we have rows with the same l_orderkey value widely separated in the table, we are still unlikely to actually observe that when sample fraction is low. Data Warehouse applications seldom delete rows, hence the FSM is unused, so this slight cause for hope is unlikely to exist. There is a further effect of concern here. We currently apply a "lift" to the D estimate when we think that the number of distinct values is high enough to imply that it should be scaled according to N. In the above example, when sample ratio is too small, D will hit the point where it is too low to be scaled and we suddenly "bomb out" to a much lower value. Test results on a table constructed as follows: Number of orderkey vals Rows per orderkey 200,000 2 200,000 4 200,000 6 200,000 8 200,000 10 Total orderkey values = 1,000,000 (D-exact) Total rows = 6,000,000 orderkey stats target D estimates 10 (10% blocks, 3k rows read) 106k, 113k, 114k 20 (20% blocks, 6k rows read) 201k, 185k, 211k 30 (30% blocks, 9k rows read) 301k, 303k, 324k 40 (40% blocks, 12k rows read) 431k, 378k 60 (60% blocks, 18k rows read) 530k 80 (80% blocks, 24k rows read) 646k(-0.107), 732k(-0.122) 100 (all blocks, 30k rows read) 823k(-0.137), 782k(-0.13), 785k(-0.13) 200 (all blocks, 60k rows read) 794k(-0.132), 810k(-0.135) The numbers in brackets denote that we have inferred scaling by N should occur and that we can estimate D as -(1/n_distinct). The test uses increasing stats target to increase sample size. I assume that increasing the table size while maintaining the data distribution, yet maintaining constant sample would have the same effect as the results shown here, since they would offer similar sample fractions. The results show that D is *inversely* proportional to sample fraction, but only over the middle range of sample sizes. At each end of the sample size scale, we handle matters correctly. If we sample enough, we recognise the actual distribution and decide to scale the result. If we sample a very small fraction and this reveals an apparently unique distribution, we decide that the distribution itself is unique and we suddenly decide D = N. The test results don't seem too bad if you view the estimate of D as at most a factor of 10 wrong. However, since the error scales up with the size of the table, we can imagine very large estimation errors. The results show that even when we scan 60% of the example table we consistently get an answer around half of the actual value of D. This is misleading because we are using row sampling, so we have sampled 1800 blocks out of 29412, yet only examined 1800 rows out of 6 million. So we've paid the high I/O cost to scan the table, but not got the benefit from that. That could lead to the conclusion that increasing sample size has little or no benefit, but that is only true if we use row rather than block sampling techniques. We do currently already calculate the correlation for each attribute, so this could be used to influence the results. However, correlation value itself may be poor in a steady state table such as line_item since the filling of data blocks is likely to be cyclic. REVIEW OF RESEARCH Andrew Dunstan points out Brutlag & Richardson [2000] "A Block Sampling Approach to Distinct Value Estimation". In this paper a number of different techniques are reviewed. [Some previous block-based estimators have been proposed on-list, though these had less statistical basis and the range of application was based on apriori knowledge of D] >From it we note that block sampling is an effective technique when the attributes are genuinely randomly distributed within the table. Block sampling is also effective at identifying clustered (as opposed to merely correlated) attributes with relatively low sample fractions. Chaudhuri's estimator is based on a least risk approach, rather than a greatest accuracy approach, which does sound appealing should we not be able to apply an improved estimator. Haas & Stokes [1998] note that "Initial experiments indicated that the reduction in estimation error due to using the high-order jack-knife is outweighed by the increase in error due to uncertainty in the moment estimates." ...Experiments both here and by Brutlag & Richardson show that not doing so leads to poor results with clustered and correlated data. Brutlag & Richardson conclude that "a hybrid estimator" may yield a better approach than the ones they have come up with. Chaudhuri et al [1998] mention an "adaptive page sampling" approach. PROPOSALS The current sampling approach visits many blocks yet retrieves few rows. We know that: i) block sampling is an effective means of detecting clustered data ii) block sampling could lead to bias in the conclusions reached ii) the current ANALYZE approach has problems with clustered data I propose 1. decide that D should scale with N if the |correlation| > an arbitrary limit [0.99 suggested to ensure only highly certain correlations are taken] (and only if we have not already decided that D > d). This alone would "fix" the estimate of D for all of the cases highlighted in my test case, above. However, my test was both correlated and clustered - and many real cases would be clustered only (say if people are reading values from a sequence before insertion the correlation would not be so near perfect). 2. When i) we have a large table (> 1 000 000 rows if known, or > 50 000 * max stats target blocks) ii) we have ample additional memory to collect a larger sample size that we make these relatively minor changes to the current approach. a). we collect a sample that consists of both block and row sampled data. Any estimator applied to this data will then naturally be a hybrid estimator. This would be done in such a way that no new I/O would be incurred, i.e. we would block sample *some* of the blocks which we will read for row sampling purposes. Doing that will increase our knowledge of clustered data, as well as lifting the sample size as is required to maintain the accuracy of histogram calculation. This means we will still use a fixed size sample, but the sample size will be larger according to maintenance_work_mem. The sample will still fit in memory, so the required sorts will still be fast memory sorts. Also, the sample size is larger without also increasing the statistics targets for particular columns and this will happen automatically when maintenance_work_mem is set higher. e.g. If we estimate memory usage as 1000 * n, we can estimate how much memory is available for additional block-related sampling. If we block sample 10% of all blocks selected for row samples, then this will use at most BLCKSZ * n /10 additional memory. I'm not suggesting (yet) we follow the suggestion of Chaudhuri et al for adaptive page/block sampling, since we do not actually compare values retrieved until we sort them later. That would require more involved changes to the current ANALYZE mechanisms. We can look at the row lengths to ensure that the block sampled rows do not completely swamp the row sampled ones. b). look at individual block clustering using the tupnoLink and the tuple TIDs. If the tuple TID == tupnoLink[tuple]->TID then they are from the same block. This will allow us to spot block clustered data even when the data is not highly correlated because of the effects of deletion and insertion on steady state tables. If clustering appears to exist, apply the best block estimator from Brutlag & Richardson [2000]; if not, stick with Haas/Stokes. 3. We should also apply multi-column heuristics to the estimation of D, once we have estimated all columns. For column groups (pairs, triples etc) that form part of a PK, we know that it must be true that D1 * D2 ... Dk >= N. In many cases we will be very confident of our estimate of D when we decide = d. i.e. When we have two columns, we can use this to infer that D1 = N/d when D2 = d. So we can do this in any case where we have confident estimates of all but one column; the required information is available at that time. e.g. if line_item primary key ( l_orderkey, l_linenumber ) and we know that there are at most 10 l_linenumber values in the table, then there should be N/10 values for l_orderkey, so set it to that if it is lower (only). 4. There are a number of other heuristics we could use but those become more specialised and complex as we proceed down that path. 5. We should implement hash-table overflow logic for HashAggregates just as has been done for HashJoins. The overflow logic in place merely copes with the problem, which could mean that some queries run for very extended durations. We should emit a log message advising when the overflow logic subdivides the hash table more than twice (i.e. we have underestimated D by more than x4), so that admins can take action and/or -hackers gets to find out when badness occurs somewhere. 6. A set of functions to override n_distinct when we wish to do this, allowing database designers to set some of these values by definition, rather than allowing for ANALYZE to discover them. This would require another column on pg_statistic so that the override value is never overridden itself by subsequent ANALYZEs. =================================================================
Next: From: Josh Berkus Date: 2006-01-04 19:41:36 Subject: Re: Inconsistent syntax in GRANT Previous: From: Tom Lane Date: 2006-01-04 16:40:02 Subject: Re: postmaster/postgres options assimilation plan


text:
DVOA Matchup: Divisional Playoff Edition
If the Divisional round of the 2008 playoffs has a familiar feeling, it's because the four games feature teams that faced each other in the regular season. The Ravens and Titans fought it out in Week 5, with Tennessee coming up on top, 13-10. The Cardinals lost a close one in Week 8 to the Panthers, 27-23, behind Jake Delhomme's two touchdown passes to Steve Smith after Arizona had a 17-3 third-quarter lead. The Eagles and Giants, NFC East Rivals from way back, split their series this year, with the road team winning each game. And when the Chargers lost the only 11-10 game in NFL history to the Steelers on November 16, it put San Diego at 4-6, and in a place where few expected them to be in the final eight.
But here they are, and here we are, waiting for the next elimination round. Let's take a look at one key matchup from each game with the use of Football Outsiders' proprietary statistics. If you have any questions about our numbers, check out this page, or feel free to e-mail me here.
Saturday, January 10
Baltimore Ravens at Tennessee Titans
Matchup: Baltimore's Front Seven vs. Tennessee's Running Game
There are two things you never, never want to do when facing the Ravens' defense: First, do NOT throw a lob anywhere near Ed Reed. Baltimore's uber-safety will intercept the water balloon and probably take it back to the house. Reed has created 11 turnovers - 10 interceptions and a forced fumble - since Week 12 and including the playoff win. Miami quarterback Chad Pennington, as efficient a quarterback as there has been in the NFL this season, learned that in the Dolphins' 27-9 Wild Card loss. Pennington had thrown seven interceptions in 476 attempts in the regular season. Against Baltimore last weekend, he threw up four picks in 38 attempts (two to Reed, including a touchdown). Pennington was marginally successful against Baltimore in Week 5, but the Ravens brought a different level of pressure and shut the Dolphins' diverse running game down.
And that's what you REALLY don't want to do against the Ravens: run up the middle. Don't bother. Baltimore's defense ranked first in Adjusted Line Yards in the Mid/Guard area, and also ranked first in yards per carry allowed around right and left guard, according to official NFL play-by-play. The Ravens are as creative with their lines as any team in the NFL, and they have the personnel to get away with trickeration. They will see your receiver stack with an overload blitz, they will send massive nose tackle Haloti Ngata up and down the defensive line or have him drop back in a zone blitz, and they will blitz the underrated safety Jim Leonhard with great effectiveness. The key word here is "blitz". Like the Steelers, the NFL's other dominant 3-4 defense this year, the Ravens bring it from many different angles.
The Titans counter with an outstanding offensive line, led by center Kevin Mawae. The 15-year veteran may still be the best in the game, but Tennessee coach Jeff Fisher recently said that Mawae is day-to-day with a leg injury. Backup Leroy Harris would be a step down against this dominant defense, but expect Mawae to play if he is at all able. The Titans' rushing attack is led by rookie Chris Johnson, he of the 4.24 Combine speed and 1,228 rushing yards. The Titans' run game is reflective of Johnson's abilities - best in the open field. Tennessee ranked 17th overall in offensive Adjusted Line Yards, 26th in Power Success (success on short runs with first-down or touchdown yardage at stake), and 22nd worst in Stuffed Rank (runs that produce below-average, zero- or negative gains). However, they're sixth in 10+ Yards ranking, which tabulates the productivity a team puts up when a back is ten or more yards past the line of scrimmage. The Ravens rank 18th in defensive 10+ Yards, so if Johnson and LenDale White can get past that dominant front seven, there are gains to be had.
Arizona Cardinals at Carolina Panthers
Matchup: Arizona's Receivers vs. Carolina's Secondary
DYAR, or Defense-adjusted Yards Above Replacement, is Football Outsiders' statistic that gives the value of performance, adjusted for defenses faced, against the league average. Basically, it's a league average baseline against which to measure the best, worst, and all in-between on a cumulative basis. DVOA, or Defense-adjusted Value Over Average, is the same stat which measures value per play. 79 different receivers were targeted by their quarterbacks at least 50 times in the 2008 season, and of those 79, the Arizona Cardinals have three receivers in the DYAR top 12. Larry Fitzgerald (third in DVOA, seventh in DVOA); Anquan Boldin (eighth in DYAR, 15th in DVOA); and second-year man Steve Breaston (12th in DYAR, 13th in DVOA) have all been among the most productive and efficient receivers in the NFL. Each man finished with over 1,000 receiving yards in 2008, and only Breaston scored fewer than 10 touchdowns.
Fitzgerald, as evidenced by his unreal catch in double coverage on a flea-flicker in Arizona's 30-24 Wild Card win over the Falcons, is the deep threat, the superstar, and quite possibly the best receiver in the game. Breaston has a nice deep inside route, and he benefits from an offense in which any third receiver is going to find either himself open pretty regularly, or fighting off nickel cornerbacks. But the real potential killer in this game, and the guy who scored two receiving touchdowns when Arizona and Carolina faced off in Week 8, is Boldin. Only Wes Welker of the Patriots, a slash-and-slant specialist, had more yards after catch than Boldin's 595 (56.4 percent of his 1,038 yards). In that 27-23 loss, Boldin caught nine passes for 63 yards, and the longest was for 11 yards.
Why is this important? Because, for all the deep threat talk you hear about the Cardinals, Arizona excels in the short passing game, and that's where they go the most. They ranked first with 211 passes to the short left area, and third with 212 passes short right. They've gained more yards per play over the deep middle than any other team, but Kurt Warner's only thrown there 21 times all season, 20th in the NFL.
Conversely, the Panthers have allowed 5.62 yards per play (11th) to the short left, 5.09 (8th), to the short right, and 10.85 yards to the deep middle (9th). They rank 8th in DVOA against #1 receivers (Fitzgerald), 18th against #2 receivers (Boldin) and 17th against all other receivers (Breaston, Jerheme Urban, et al). Boldin was targeted 14 times against the Panthers, and 12 were short left, right, or middle. He matches Carolina's strength with his own, and his current status (strained hamstring) could take away a major advantage for the Cardinals.
Sunday, January 11
Philadelphia Eagles at New York Giants
Matchup: Stewart Bradley vs. Earth, Wind, and Fire
Per DVOA, which team had the best run defense in the second half of the 2008 season? You'd be forgiven for guessing Baltimore, Pittsburgh, or Tennessee, but you'd also be wrong. The best team in defensive rushing DVOA from Week 10 through Week 17 was (drum roll...) the Philadelphia Eagles. Jim Johnson's defense is a manically fast, gap-control monster, and middle linebacker Stewart Bradley leads the way. Bradley is great at holding the point against opposing running backs, and he'll need every bit of that skill against the Giants, their three-headed rushing attack, and their outstanding run-blocking line.
After New York put up 207 rushing yards on Baltimore's outstanding defense in Week 11, linebacker Jarret Johnson had something interesting to say. "The backs have three different styles, but it's more than that because they adjust the blocking schemes for each one," Johnson mentioned after the game. "It creates pressure on the defense because each back is opportunistic but in a different way. So if you make one mistake, any of those backs can be gone."
The first back of the trio is Brandon Jacobs (Earth), the 6-4, 264-pound behemoth who currently ranks second in the NFL in DYAR among running backs. For Jacobs, the Giants' line likes to use slide protection and pulling guards to get the defense going one way while Jabobs looks for the seam or cuts back against the wave. If he gets to the second level, he's almost impossible to tackle, because he's facing linebackers and safeties.
Derrick Ward (Wind) is a quick, versatile back with good size (5-11, 228). He ranks fourth in DYAR on the ground, and he also leads the Giants in receiving DYAR among running backs. For Ward, you'll see the Giants' line pushing their guards or a center up to the second level, which does leave vulnerability against defenses like Philadelohia's.
Ahmad Bradshaw (Fire) is the quickest of the three, with a great cutback move that benefits from a hybrid blocking scheme. You'll see the Giants slide and pull to create that cutback, and the Eagles must be especially careful when the Giants use both guards to pull - it's a favorite scheme, and it's very effective, especially when their backs cut against it. The Eagles have a battle on their hands, and the Giants won't face a better run defense than this one right now.
San Diego Chargers at Pittsburgh Steelers
Snapshot: San Diego's Pass Rush vs. Pittsburgh's Offensive Line
When "endbacker" Shawne Merriman went down for the season with torn ligaments in his left knee, the Chargers' pass rush took a major hit. Merriman was perhaps the most dangerous edge rusher in the game before he got hurt, putting up 40 sacks in his first three seasons, and the Chargers dropped from 42 sacks in 2007 to 28 in 2008. However, the Steelers' offensive line is more vulnerable than most. Between weaknesses in the line and Ben Roethlisberger's tendency to hold onto the ball far beyond your average quarterback, the Steelers have been prone to sacks for quite a while. They allowed 50 Adjusted Sacks in 2008, 47 in 2007, and 49 in 2006. When these teams last played, Big Ben threw the ball 41 times, and took four sacks.
The problem for opposing defenses is that Roethlisberger is dangerous until he's all the way down and sacked, and his receivers have learned never to give up on a play until the whistle has blown.
Doug Farrar
January 6, 2009; 1:58 AM ET
| Category:
Doug Farrar
Save & Share:
Previous: DVOA Matchup: Wild-Card Edition | Next: DVOA Matchup: Conference Championship Edition
The comments to this entry are closed.

subset: commoncrawl


text:
Three men were killed and another seriously wounded in a dispute in a Harbor Gateway apartment Friday, authorities said.
The violence, which police are not attributing to gangs, was reported about 5:30 a.m. in the 1600 block of West 205th Street, just east of South Western Avenue, said Officer Christopher No of Los Angeles Police Department.
Three men between the ages of 20 and 30 years old were killed, LAPD Sgt. Rudy Lopez said. Their names were withheld pending notification of relatives.
Additionally, a man in his 30s was found with a leg wound a couple of blocks north of the 205th Street apartment, near Del Amo Boulevard and Western Avenue. The man, who appeared to be trying to flag down motorists, was taken to a hospital for treatment. Lopez said the gunshot victim was being detained for his suspected involvement but was not cooperating with officers.
"We're not getting much assistance from him," he said.
Lopez said he did not know if the man was armed when taken into custody, but noted that weapons were recovered inside the apartment building.
Police were unsure if the injured man taken into custody was a victim or a suspect, Lopez said, but officers believe there are no other suspects involved or at large.
All four men apparently knew each other, he added, and all are considered either victims and/or suspects in the incident apparently spawned by a dispute. It was not known what they were arguing about.
"Various witnesses heard loud and boisterous arguing going on," Lopez said. "Right now we don't know who shot who or why they shot them. "
LAPD Capt. Nancy Lauer told reporters that the survivor initially was in serious condition but was upgraded to fair several hours later.
"When police officers arrived, they found three individuals had been shot and killed inside the location,'' Lauer said. "A fourth individual was located by officers and transported to the hospital. "
In what police described as a bloody scene, the first victim was found dead on an interior stairway leading up to the second-story apartment unit. The others were inside the apartment, all dead from gunshot wounds.
Lopez said it was unclear whether those killed lived in the apartment.
"We don't know if the renter was one of the victims," he said.
As a precaution, authorities escorted children in the area from their homes to school Friday morning.
The area Boys and Girls Club also was taking in anyone who wanted to leave the neighborhood as the investigation continued.
Some neighbors watched the unfolding investigation from their front yards, but most remained behind closed doors.
"I want to emphasize - and this is important - that there is no additional danger to the community members in the area," Lauer said, declining to elaborate.
Robbery-homicide detectives, assisted by a police dog, entered the residence at mid-day after obtaining a search warrant for the apartment.
One neighbor, Brad Wood, said he was awakened by helicopters following the shooting. Wood noted that the neighborhood has been relatively quiet since authorities cracked down on the 204th Street gang in the aftermath of the race-related fatal shooting of 14-year-old Cheryl Green.
"It's been really quiet for the last three or four years," he said.
Police asked anyone with information to call 310-726-7900 or 800-222-TIPS.


text:
Plants for the water friendly garden
As part of Council's water conservation programme, a water friendly garden was established at the Rosny Farm. A booklet called Plants for the water friendly garden has now been developed to support the theme of the water friendly garden.
Plants for the water friendly garden is a pocket sized native plant field guide and can be used as a companion guide to Popular Trails in Clarence and Popular beaches in Clarence.
This booklet provides an interesting insight into a selection of local native plants growing in Clarence, many of which can be found at the Rosny Historic Centre's water friendly garden.
These plants were selected as representatives of the many species found in the surrounding dry grassy woodlands that would have been used by local aboriginal tribes or early colonial settlers. Many of these plants have a close relationship with the local fauna such as butterflies, ants, honey eaters, lizards and bandicoots.
The description of each plant reveals a number of intriguing attributes relating to its use as bush tucker, medicinal properties, fibre and dye production, as well as its role in providing habitat for native fauna.
Most of these plants are easy to grow in your home garden, and from late winter through to early summer will display a range of attractive flowers.
Since most of the plants described have adapted to survive during the dry summer and autumn periods by dying down into underground tubers, they assist in minimising water use in the garden.
Download Plants for the water friendly garden (854 kb), or collect a copy from Clarence City Council or the Rosny Farm.


text:
by NewSoob from Connecticut
on April 19, 2012
Purchased a new car
Uses car for Just getting around
Does recommend this car
by Emden 08 from Staten Island, NY
on January 5, 2012
by Forester Fan from Dallas/Ft. Worth
on February 20, 2012
by Sportsman from Milford. Mi.
on January 16, 2012
Uses car for Transporting family
by Subbieluver from Palmetto Fl
on April 2, 2012
Uses car for Commuting
by jmemcse517 from Steamboat Springs, CO
on April 9, 2012
by sense-ible driver from Bloomfield, MI
on August 23, 2012
by Mountain Lovers from Tyro, VA
on January 2, 2013
Purchased a used car
by MosGran from Baltimore , Maryland
on April 19, 2012
by SSM from Chicago, IL
on March 13, 2012
By Kelsey Mays
October 15, 2011
Select up to three models to compare with the 2012 subaru forester
Remove one of these cars to add others or compare the below cars now.


text:
Sled Dog Races
Sled Dog Races
Jan. 20-22, 2017
The first sled dog race at Chapman State Park crossed the Allegheny National Forest to Marienville and back in January of 1979. Ten teams ran a two-day race. The temperature hovered around -25 degrees both days with two feet of snow. Jim Lobdell of Warren won that first race and thus began the dog racing tradition at Chapman. Shortly thereafter, the "winter carnival" tradition began to accompany the races at the Park. By 1993, Warren County merged the events into Winterfest.
When Jim Lobdell passed away, the races took on his name: "The Jim Lobdell Memorial Sled Dog Races". The Tionesta Valley Snowmobile Club, Inc. manages the races; TVSC volunteers serve as Trail Boss and Race Marshall. Russ Bush of the Boy Scouts of America Venture Crew 73 leads the Amateur FM Radio operators in providing communications to help administer the races. Agencies cooperating to make Winterfest possible include Penn Soil Resource Conservation and Development Council, the Bureau of State Parks, Pennsylvania Game Commission and the U.S. Forest Service. Each year, the races are listed on Sled Dog Central. Volunteer organizations stage activities and exhibits throughout the Park. Tails of the Tundra Siberian Husky Rescue group from Philadelphia will be back for a eighth year at Winterfest.
There will be plenty of excitement for 2017, beginning the morning of Friday, January 20 with the 32-mile mid-distance race from Chapman State Park to the Hickory Creek Wilderness Ranch (16 miles away) and back to the Park.
Dogs of all breeds can be taught to pull a human on cross-country skis with the proper harness, line, and belt. It can be an invigorating and rewarding activity for both the human and the canine. Come to the Winterfest dog races to see the Ski-joring competition on January 21st and 22nd at Chapman State Park. Talk with the racers and visit the Siberian Husky Rescue in Pavilion #1 for more information.
At Chapman State Park, a variety of downhill sledding events will take place, as well as skiing, ice fishing, snow shoeing, snow sculpting, and several food vendors. Bring the entire family and enjoy winter along the West Branch of the Tionesta Creek at the Park.
For more details on the sled dog races and canine weight pull, including scheduled dates and times, check out the races' promotional flyer and registration/information forms on this web-page. The access road next to the Beach at Chapman State Park serves as the start/finish line for all sled dog races.
To see what sled dog racing looks like, visit our "sled cam" video on YouTube, posted below. This video is courtesy Lobdell racer (and 2013 race donor) Daniel Rehak of Pittsburgh, and was shot during the 2011 races on State Game Lands #29. You can see "head-on passing" as race teams going in opposite directions pass each other on the race course.
Lobdell "sled cam" by racer /donor Dan Rehak
Below is another video, this one posted by Streeper Kennels. While this is not footage of the Lobdell Races, it does show an 18-dog team going over 20 miles per hour:
2007 Sled Cam video from Streeper Kennels
Sled Dog Racing and Jim Lobdell
Our Event
name Jim Lobdell Memorial Invitational
location Chapman State Park, Beach area
RACES Mid-Distance, Sprints, Canine Weight Pull
Days held Friday, Saturday and Sunday
Lobdell Race Downloads
Registration & Waiver Forms:
Sprint/Skijor Form - 218 KB PDF
All contestants must fill out a waiver form and the appropriate registration form. Registration deadline Monday, 28 Nov. 2016.
No late entries accepted!


text:
Saturday, January 10 at 2 pm on the library's main floor.
Cedar Mill resident Matt Rucker will play Scottish and Irish tunes on the Walsh Shuttle Pipes. These bellows-blown pipes are similar in style and shape to pipes dating back to 1695 and are ideal for intimate performances where the Highland pipes would prove too overpowering. Matt's repertoire includes a wide range of music from softly meditative to lively jigs and hornpipes.
Matt is in his senior year as a homeschooled student. He plays the Great Highland Bagpipe competitively as a soloist and was a winner at the 2008 Portland Highland Games. In his spare time, he is a piper with the newly formed Portland Metro Youth Pipe Band, writes computer games, studies piano and Aikido and is an active library volunteer.
Saturday, January 31, 1-3 pm
An Oregon Historical Society FolkLife workshop for all ages in the library's upstairs meeting room.
Visit the library's website at www.cedarmill.org/library for the rest of the scheduled events, or call 503 644-0043 ext 114
Wednesday, January 28, 6:30 pm
Days & Clouds was the 2008 Official Selection of the Toronto International Film Festival and is presented in Italian with English subtitles. All Film Club programs are free and open to the public and shown in the library's upstairs meeting room. Selected films are not previewed and may contain objectionable material. Film Club attendance is recommended for adults, aged 18 and over. Coffee, tea and popcorn are provided, and a lively discussion follows each film.
Advertising Information
Cedar Mill Business
Published monthly by Cedar Mill Advertising & Design
Publisher/Editor:Virginia Bruce
PO Box 91061
Portland, Oregon 97291


text:
Harry Potter And The Deathly Hallows Part 2 (Blu-ray 3D)
Shipping Destinations for this item
Sorry, this product is currently unavailable.
In the epic finale, the battle between the good and evil forces of the wizarding world escalates into an all-out war. The stakes have never been higher and no one is safe. But it is Harry Potter who may be called upon to make the ultimate sacrifice as he draws closer to the climactic showdown with Lord Voldemort.
It all ends here.
Harry Potter and the Deathly Hallows - Part 2 stars Daniel Radcliffe, Rupert Grint and Emma Watson, reprising their roles as Harry Potter, Ron Weasley and Hermione Granger. The film's ensemble cast also includes Helena Bonham Carter, Jim Broadbent, Robbie Coltrane, Warwick Davis, Tom Felton, Ralph Fiennes, Michael Gambon, Ciarán Hinds, John Hurt, Jason Isaacs, Matthew Lewis, Gary Oldman, Alan Rickman, Maggie Smith, David Thewlis, Emma Thompson, Julie Walters and Bonnie Wright.
The film was directed by David Yates, who also helmed the blockbusters Harry Potter and the Order of the Phoenix, Harry Potter and the Half-Blood Prince and Harry Potter and the Deathly Hallows - Part 1.
Please note: special features are in 2D
Maximum Movie Mode:
Aberforth Dumbledore
Deathly Hallows Costume Changes
Harry Returns to Hogwarts
The Hogwarts Shield
The Room of Requirement Set
The Fiery Escape
Neville's Stand
Molly Takes Down Bellatrix
Final Farewells from Cast and Crew
Pottermore Preview
When Harry Left Hogwarts
The Goblins of Gringotts
The Women of Harry Potter
Deleted Scenes
Warner Bros. Studio Tour London
A Conversation with JK Rowling and Daniel Radcliffe
Catalan (5.1 Dolby Digital), Castilian Spanish (5.1 Dolby Digital), English
(5.1 NF DTS-HDMA), Dutch (5.1 Dolby Digital), French (5.1 NF Dolby Digital),
German (5.1 Dolby Digital), Italian (5.1 Dolby Digital), English (2.0 Audio
Descriptive Service)
Aspect Ratio: 2.40:1
Run Time: 130mins approx
Subtitles: Castilian Spanish, English SDH, French, Dutch, German SDH, Castilian Spanish Forced, Italian Forced, German Forced, French Forced, Dutch Forced, Arabic, Swedish, Norwegian, Finnish, Danish, Italian SDH.
For more information and our Delivery Policy see here.
For more information and our Returns Policy see here.


text:
TEENAGE sensation Lydia Ko will take ominous form into next week's Australian Open in Canberra after putting herself in pole position to win her country's biggest tournament.
The 15-year-old is tied for the lead with South Korea's Seon Woo Bae going into the final round of the New Zealand Open at Christchurch on Sunday.
The pair are level at six under par, with Bae charging up the leaderboard with a stunning eight-under 64 on Saturday.
Canberra's Nikki Campbell is in fourth and will have to overcome a two-shot deficit to record the fourth win of her professional career and her first since 2010.
Campbell started the day with a share of top spot at three under, before dropping a shot on the par-four third.
Birdies on the fifth, 10th and 11th holes had the 32-year-old among the leaders, but a bogey on the 16th left her with a one-under 71 to be four under for the tournament.
Ko will be one of the main drawcards at Royal Canberra when the Australian Open visits the national capital for the first time from February 14-17.
She burst on to the scene last year when she entered the record books as the youngest winner of an Australian Ladies Professional Golf tournament, winning the women's NSW Open at age 14.
Seven months later, Ko captured the women's Canadian Open, beating the previous mark for the youngest winner on the LPGA tour.
Ko's achievements led to her on Friday earning an invitation as one of nine amateurs into the Kraft Nabisco Championship, the first major of the season for the LPGA tour in April.
The Australian Open has a history of unearthing young stars, after 19-year-old Jessica Korda came from the clouds to collect last year's title at Royal Melbourne.